linux-kernel-test/drivers/usb/host
Alan Stern 38b375d961 USB: OHCI: fix system hang caused by earlier patch
This patch (as1114) fixes a problem that was revealed by an earlier
patch (as1069b).  Some broken controllers seem never to turn off their
RHCS interrupt status bit, even when told to do so.  As a result they
generate an interrupt storm and hang the system.

The patch avoids enabling RHSC interrupt requests when the RHCS status
bit is already set.  This should have no adverse affects on normal
controllers, since they won't set the status bit until a root-hub
status change actually occurs, in which case we wouldn't enable RHSC
interrupt requests anyway -- we would wait until the status change had
been processed and cleared.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested by: Andrey Borzenkov <arvidjaar@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-08-13 17:32:49 -07:00
..
ehci-au1xxx.c USB: Au1xxx-usb: suspend/resume support. 2008-07-21 15:16:44 -07:00
ehci-dbg.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ehci-fsl.c USB: EHCI: Reconciling USB register differences on MPC85xx vs MPC83xx 2008-07-21 15:16:45 -07:00
ehci-fsl.h
ehci-hcd.c USB: ehci-hcd unlink speedups 2008-07-21 15:16:27 -07:00
ehci-hub.c USB: EHCI: fix remote-wakeup regression 2008-05-29 13:59:04 -07:00
ehci-ixp4xx.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ehci-mem.c
ehci-orion.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ehci-pci.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-ppc-of.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-ppc-soc.c USB: EHCI: suppress unwanted error messages 2008-05-29 13:59:03 -07:00
ehci-ps3.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ehci-q.c list.h: Add list_splice_tail() and list_splice_tail_init() 2008-08-07 09:49:42 -04:00
ehci-sched.c USB: EHCI: fix bug in Iso scheduling 2008-05-29 13:59:04 -07:00
ehci.h USB: ehci-hcd unlink speedups 2008-07-21 15:16:27 -07:00
isp116x-hcd.c Rename WARN() to WARNING() to clear the namespace 2008-07-25 10:53:29 -07:00
isp116x.h Rename WARN() to WARNING() to clear the namespace 2008-07-25 10:53:29 -07:00
isp1760-hcd.c USB: isp1760: Support board-specific hardware configurations 2008-07-21 15:16:33 -07:00
isp1760-hcd.h USB: isp1760: Support board-specific hardware configurations 2008-07-21 15:16:33 -07:00
isp1760-if.c USB: isp1760: Support board-specific hardware configurations 2008-07-21 15:16:33 -07:00
Kconfig usb: r8a66597-hcd: Add support for SH7723 USB host 2008-06-09 16:04:12 +09:00
Makefile USB: ISP1760 HCD driver 2008-05-02 10:25:50 -07:00
ohci-at91.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-au1xxx.c USB: Au1xxx-usb: suspend/resume support. 2008-07-21 15:16:44 -07:00
ohci-dbg.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ohci-ep93xx.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-hcd.c USB: make SA1111 OHCI driver SA11x0 specific 2008-07-21 15:16:24 -07:00
ohci-hub.c USB: OHCI: fix system hang caused by earlier patch 2008-08-13 17:32:49 -07:00
ohci-lh7a404.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-mem.c USB: OHCI handles more ZFMicro quirks 2007-10-12 14:54:59 -07:00
ohci-omap.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-pci.c Revert "USB: don't explicitly reenable root-hub status interrupts" 2008-07-06 10:27:25 -07:00
ohci-pnx4008.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-pnx8550.c Revert "USB: don't explicitly reenable root-hub status interrupts" 2008-07-06 10:27:25 -07:00
ohci-ppc-of.c USB: ohci-ppc-of: use linux/of_platform.h instead of asm 2008-07-21 15:16:22 -07:00
ohci-ppc-soc.c Revert "USB: don't explicitly reenable root-hub status interrupts" 2008-07-06 10:27:25 -07:00
ohci-ps3.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ohci-pxa27x.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-q.c USB: ohci_hcd hang: submit vs. rmmod race 2008-07-21 15:16:25 -07:00
ohci-s3c2410.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-sa1111.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ohci-sh.c Revert "USB: don't explicitly reenable root-hub status interrupts" 2008-07-06 10:27:25 -07:00
ohci-sm501.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ohci-ssb.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
ohci.h USB: convert ohci debug files to use debugfs instead of sysfs 2008-02-01 14:34:52 -08:00
pci-quirks.c USB: replace remaining __FUNCTION__ occurrences 2008-04-24 21:16:55 -07:00
pci-quirks.h
r8a66597-hcd.c usb: r8a66597-hcd: fix iinterval for Full/Low speed device 2008-07-21 15:16:35 -07:00
r8a66597.h USB: r8a66597-hcd: Add support for SH7366 USB host 2008-04-24 21:16:49 -07:00
sl811_cs.c
sl811-hcd.c Rename WARN() to WARNING() to clear the namespace 2008-07-25 10:53:29 -07:00
sl811.h Rename WARN() to WARNING() to clear the namespace 2008-07-25 10:53:29 -07:00
u132-hcd.c USB: usb dev_name() instead of dev->bus_id 2008-07-21 15:15:46 -07:00
uhci-debug.c USB: add urb->unlinked field 2007-10-12 14:55:19 -07:00
uhci-hcd.c USB: UHCI: disable remote wakeup when it's not needed 2008-05-02 10:25:57 -07:00
uhci-hcd.h USB: UHCI: disable remote wakeup when it's not needed 2008-05-02 10:25:57 -07:00
uhci-hub.c USB: uhci: mark root_hub_hub_des[] as const 2008-07-21 15:16:30 -07:00
uhci-q.c USB: replace remaining __FUNCTION__ occurrences 2008-04-24 21:16:55 -07:00