USB: OHCI: fix system hang caused by earlier patch
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 21 Jul 2008 13:56:26 +0000 (09:56 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 14 Aug 2008 00:32:49 +0000 (17:32 -0700)
commit38b375d9610e2467cb793a84d17c6f65e44cdb39
treebaade98427207a0086b018b153947ae2da7a5802
parentfa41019c7aa172fde075849834409d23eb49f582
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>
drivers/usb/host/ohci-hub.c