Re: [PATCH 1/5] USB: Add parsing of SuperSpeed endpoint companion descriptor.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 07, 2010 at 11:57:14AM -0400, Alan Stern wrote:
> On Wed, 7 Apr 2010, Ashot Madatyan wrote:
> 
> > Hi Alan,
> > 
> > Please see my inlined questions/comments below.
> 
> > I'm not sure what the spirit of the USB 3.0 spec would say, but my
> > feeling is that the "extra" and "extralen" fields in usb_host_endpoint
> > should encompass all the following descriptors, including the
> > SuperSpeed Endpoint Companion descriptor, up to the next endpoint or
> > interface.
> > 
> > This would mean that there would be need to have a usb_host_ss_ep_comp
> > structure at all.
> > [Ashot S. Madatyan] 
> > This would mean that there would be NO need to have a usb_host_ss_ep_comp
> > structure at all.
> > If you meant exactly that, then I quite agree and think this is the best way to go about.
> 
> Yes, that is what I meant.  Sorry about the typo.

Curtis Stevens on the USB-IF UASP mailing list said that the USB3 bus
spec takes precedence, and the pipe descriptors should go after the
SuperSpeed endpoint companion descriptors.

It's really not that hard to parse the usb_host_endpoint extra field,
and then if you don't find the pipe descriptor, parse the
usb_host_ss_ep_comp extra field.  ISTR David Vrabel saying there's some
code in the WHCI driver to parse those extra fields to find the wireless
BOS descriptor, and it should probably be moved into a general purpose
function in the USB core.  Maybe it could be used to get the pipe
descriptors?

I don't like to have the usb_host_ss_ep_comp structure go away
completely, as the USB core and the xHCI driver both use it.  So there
needs to be easy access to the descriptor without needing to re-parse
the extra field every time.

You could have the extra field in usb_host_endpoint encompass all the
descriptors after the endpoint (including the SuperSpeed endpoint
companion descriptor), and also keep a pointer to the
usb_host_ss_ep_comp in usb_host_endpoint.  I would be fine with that.

I really struggled with the descriptor parsing code to get it right, so
I really don't ever want to touch that code again.  Maybe someone else
wants to take a shot at it?

Sarah Sharp
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux