On Wed, Dec 01, 2010 at 10:20:19AM -0500, Alan Stern wrote: > On Tue, 30 Nov 2010, Sarah Sharp wrote: > > > On Tue, Nov 30, 2010 at 11:06:21AM -0500, Alan Stern wrote: > > > On Mon, 29 Nov 2010, Sarah Sharp wrote: > > > > @@ -1234,6 +1252,14 @@ struct xhci_hcd { > > > > u32 suspended_ports[8]; /* which ports are > > > > suspended */ > > > > unsigned long resume_done[MAX_HC_PORTS]; > > > > + /* Is each xHCI roothub port a USB 3.0, USB 2.0, or USB 1.1 port? */ > > > > > > This comment is unclear; the port_array field doesn't answer the > > > question asked in the comment. Furthermore, none of the ports can be > > > USB 1.1 -- they all have to be USB-2 or USB-3. > > > > Ok, on closer look at this, the comment is correct. Each port_array > > element is taken from the Major Revision field in the Extended > > Capabilities, so it can be 0x1, 0x2, or 0x3. If the port shows up twice > > in the Extended Capabilities registers (it could happen, although it > > should be caught by the USB-IF compliance tests), then that element is > > set to -1 and the port is ignored. Probably the port should be > > disabled, but the code doesn't do that. > > Ah -- I misread the code. Instead of making port_array a pointer, why > not make it an array of some maximum fixed length? I could, but this particular patch might make it into 2.6.37 (to deal with the USB 3.0 port disabling issue), so I'm not really inclined to change that. > Does xHCI allow an implementation to use separate port registers for > high speed vs. full/low speed? The xHCI spec doesn't disallow it. I don't see the advantage to having a LS/FS only port, but it's possible. 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