summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/ohci-sm501.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-07-06 19:27:25 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-06 19:27:25 +0200
commit09ca8adbe9f724a7e96f512c0039c4c4a1c5dcc0 (patch)
treed9eccc5f23b8565fc93ddcecd6a480d21bbbcebb /drivers/usb/host/ohci-sm501.c
parentLinux 2.6.26-rc9 (diff)
downloadlinux-09ca8adbe9f724a7e96f512c0039c4c4a1c5dcc0.tar.xz
linux-09ca8adbe9f724a7e96f512c0039c4c4a1c5dcc0.zip
Revert "USB: don't explicitly reenable root-hub status interrupts"
This reverts commit e872154921a6b5256a3c412dd69158ac0b135176. Andrey Borzenkov reports that it resulted in a totally hung machine for him when loading the OHCI driver. Extensive netconsole capture with SysRq output shows that modprobe gets stuck in ohci_hub_status_data() when probing and enabling the OHCI controller, see for example http://lkml.org/lkml/2008/7/5/236 for an analysis. The problem appears to be an interrupt flood triggered by the commit that gets reverted, and Andrey confirmed that the revert makes things work for him again. Reported-and-tested-by: Andrey Borzenkov <arvidjaar@mail.ru> Acked-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: David Brownell <david-b@pacbell.net> Cc: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/usb/host/ohci-sm501.c')
-rw-r--r--drivers/usb/host/ohci-sm501.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/ohci-sm501.c b/drivers/usb/host/ohci-sm501.c
index e899a77dfb83..e610698c6b60 100644
--- a/drivers/usb/host/ohci-sm501.c
+++ b/drivers/usb/host/ohci-sm501.c
@@ -75,6 +75,7 @@ static const struct hc_driver ohci_sm501_hc_driver = {
*/
.hub_status_data = ohci_hub_status_data,
.hub_control = ohci_hub_control,
+ .hub_irq_enable = ohci_rhsc_enable,
#ifdef CONFIG_PM
.bus_suspend = ohci_bus_suspend,
.bus_resume = ohci_bus_resume,