On Tue, Mar 08, 2011 at 11:59:19AM -0800, Paul Zimmerman wrote: > > From: Sarah Sharp [mailto:sarah.a.sharp@xxxxxxxxxxxxxxx] > > Sent: Monday, March 07, 2011 2:12 PM > > > > This is the third revision of the patchset to add USB 3.0 hub support, > > and make the xHCI host controller have two roothubs: a USB 2.0 roothub > > and a USB 3.0 roothub. The original patchset can be found here: > > > > http://marc.info/?l=linux-usb&m=129375137520460&w=2 > > > > Changes since v2: > > > > - Fix various bugs, including the device resume_done issue I had > > (http://marc.info/?l=linux-usb&m=129504238230270&w=2) Turns out it > > was an issue with the xHCI driver not using the correct index, and > > Andiry was correct that the patch mentioned in that link is not > > needed. > > > > usb: Store bus type in usb_hcd, not in driver flags. > > - Rename usb_hcd->bcdUSB to usb_hcd->speed (the commit message needs > > to get updated, sorry). > > > > xhci: Register second xHCI roothub. > > - The xHCI driver now registers a PCI probe function, which calls the > > USB core's PCI probe function, and then registers a second roothub > > with calls to usb_create_shared_hcd() and usb_add_hcd(). This > > avoids mucking up the USB PCI core with xHCI specific code, and > > allows future host controller drivers to easily register more than > > two shared host controllers. > > - Register the USB 2.0 roothub first, to avoid resume issues. > > > > USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol. > > - change the portspeed() routine to accept a pointer to the hub > > structure in order to avoid printk statement duplication. > > > > USB: Disable auto-suspend for USB 3.0 hubs. > > - Only disable auto-suspend for external USB 3.0 hubs. Allow > > autosuspend to be enabled for USB 3.0 roothubs. Otherwise the host > > controller doesn't get suspended when there are no USB 3.0 devices > > attached to the system and all USB 2.0 devices are suspended. > > Hi Sarah, > > I tested this with the Synopsys xHCI controller and a Via USB3 hub, and > it works. However, I have seen a couple of kernel crashes when plugging > or unplugging devices. I haven't been able to capture the messages yet, > but I see that it is happening somewhere in the xhci interrupt handler. > Today I will try using netconsole to capture the dmesg when the crash > happens again. That would be helpful, yes. I have seen a kernel crash when the driver is unloaded while a USB mouse is plugged in, and I think the URB gets killed while the host controller is halted and can't respond to the stop endpoint command. I think the URB cancellation code just needs to run the cancellation handler if the host controller is halted. But I haven't had a chance to look at my crash too closely. 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