Bug 38822

Summary: Hot-unplugging a USB hub causes USB hotplugging not to work in version 3.0.0-rc5 and later
Product: Drivers Reporter: Michael Marley (michael)
Component: USBAssignee: Greg Kroah-Hartman (greg)
Status: CLOSED CODE_FIX    
Severity: high CC: rjw
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.0.0-rc6 Tree: Mainline
Regression: Yes
Bug Depends on:    
Bug Blocks: 36912    
Attachments: dmesg output from the normally-working kernel (with the above commit reverted).
lspci -vvnn output from my system
lsusb -vv output from my system

Description Michael Marley 2011-07-06 03:36:18 UTC
Created attachment 64732 [details]
dmesg output from the normally-working kernel (with the above commit reverted).

In Linux 3.0.0-rc5 a bug was introduced into the USB hub driver that causes any form of USB hotplugging to cease working after a USB hub has been unplugged while the system is running.  The dmesg log shows the hub disconnecting normally but does not produce any output for any devices hotplugged in afterward.  Additionally, ACPI suspend fails after this stating that khubd locked up during the suspend process.  I tracked down the issue to commit 95a2424ff9221624c3944f3732f6cfacbb522ae4 (https://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=95a2424ff9221624c3944f3732f6cfacbb522ae4).  Reverting that commit causes normal behavior to return.

My system is a Dell Vostro 1500 with the Intel ICH8 USB controller.  I don't have any other systems to try reproducing this on at the moment, but if needed, I probably could.  Also, if I can provide any more data, please let me know.
Comment 1 Michael Marley 2011-07-06 03:36:48 UTC
Created attachment 64742 [details]
lspci -vvnn output from my system
Comment 2 Michael Marley 2011-07-06 03:37:30 UTC
Created attachment 64752 [details]
lsusb -vv output from my system
Comment 3 Greg Kroah-Hartman 2011-07-06 04:42:43 UTC
Should now be fixed in Linus's tree, can you test?
Comment 4 Michael Marley 2011-07-06 11:36:44 UTC
Works great now, thanks!