On Wed, 7 Apr 2010, Sarah Sharp wrote: > 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. There already _is_ a pointer to the usb_host_ss_ep_comp in usb_host_endpoint. I was proposing to replace it with a pointer to the usb_ss_ep_comp_descriptor. If we do that then the usb_host_ss_ep_comp wouldn't contain anything useful. > 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? I can change it to do this. Parts of xhci-hcd would have to be changed too. Alan Stern -- 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