All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin Schleier" <drahemmaps@gmx.net>
To: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: linux-wireless@vger.kernel.org, dsd@gentoo.org,
	linville@tuxdriver.com, kune@deine-taler.de,
	linux-usb@vger.kernel.org, stern@rowland.harvard.edu,
	gregkh@suse.de
Subject: Override endpoint attributes (was: RE: [PATCH] zd1211rw: change endpoint types of EP_REGS_OUT and EP_INT_IN from interrupt to bulk)
Date: Sun, 06 Feb 2011 11:27:10 +0100	[thread overview]
Message-ID: <20110206102710.152130@gmx.net> (raw)

Sujith <m.sujith@...> writes:
> Jussi Kivilinna wrote:
> > +static int usb_endpoint_int_to_bulk(struct usb_device *udev, unsigned int pipe)
> > +{
> > +	struct usb_host_endpoint *ep;
> > +
> > +	ep = usb_pipe_endpoint(udev, pipe);
> > +	if (!ep)
> > +		return -EPIPE;
> > +
> > +	switch (ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) {
> > +	case USB_ENDPOINT_XFER_INT:
> > +		ep->desc.bmAttributes &= ~USB_ENDPOINT_XFERTYPE_MASK;
> > +		ep->desc.bmAttributes |= USB_ENDPOINT_XFER_BULK;
> > +		ep->desc.bInterval = 0;
> > +		/* passthru */

Interesting, I know that interrupt and bulk endpoints share a lot of
common logic so I can see how this should work. But is it really
possible [and more to the point: sane?!] to override the endpoint
descriptors?

I know that usb_submit_urb checks [when config_usb_debug is enabled]
if the xfertype of the submitted urb matches the one of the endpoint,
so I wonder I started to wonder if we are fooling "just" the code
here, or ourselves in the process?
 
> ath9k_htc does the same thing (see ath/ath9k/hif_usb.c).
> It does seem to be working properly but I am wondering if the
> USB subsystem has to be updated after the driver messes around with bmAttributes.
> (lsusb would still show the endpoint type as INT).
> 
> You have a usb_reset_configuration() call before changing
> the endpoint type, why is that necessary ? And would that
> reset the endpoints as well ?
Huh, has this already catched on?
-- 
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de

             reply	other threads:[~2011-02-06 10:27 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-06 10:27 Martin Schleier [this message]
2011-02-06 11:33 ` Override endpoint attributes (was: RE: [PATCH] zd1211rw: change endpoint types of EP_REGS_OUT and EP_INT_IN from interrupt to bulk) Jussi Kivilinna
2011-02-06 12:07 ` Sujith
2011-02-06 15:46   ` Alan Stern
2011-02-06 16:15     ` Sujith
2011-02-06 20:04       ` Alan Stern
2011-02-08 12:03         ` Jussi Kivilinna
2011-02-08 15:21           ` Alan Stern
2011-02-08 19:08             ` Jussi Kivilinna
2011-02-09  2:28             ` Sujith
2011-02-09 15:19               ` Alan Stern
2011-02-09 16:30                 ` Sujith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110206102710.152130@gmx.net \
    --to=drahemmaps@gmx.net \
    --cc=dsd@gentoo.org \
    --cc=gregkh@suse.de \
    --cc=jussi.kivilinna@mbnet.fi \
    --cc=kune@deine-taler.de \
    --cc=linux-usb@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    --cc=stern@rowland.harvard.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.