]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] USB: avoid OHCI autosuspend on some boxes
authorGreg Kroah-Hartman <greg@kroah.com>
Thu, 16 Dec 2004 07:49:32 +0000 (23:49 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 16 Dec 2004 07:49:32 +0000 (23:49 -0800)
Don't try autosuspend if we think the hardware won't resume correctly
from the OHCI suspend state.  This makes the RWC bit serve double duty,
but that appears to work OK, and the only penalty is increased power
consumption (from OHCI clocks) on boards/chips that don't work right.

For example, the amd756 erratum 4 workaround needs this logic; and at
least one ServerWorks box issues spurious resume IRQs (~3x/second!)
in the suspend state.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/usb/host/ohci-hub.c

index 0d516ef74fdca72ed33ec6becf34f2318b12b61c..8f40bfa42d763df70504c98ded32c33e66e29d10 100644 (file)
@@ -305,7 +305,7 @@ ohci_hub_status_data (struct usb_hcd *hcd, char *buf)
 {
        struct ohci_hcd *ohci = hcd_to_ohci (hcd);
        int             ports, i, changed = 0, length = 1;
-       int             can_suspend = 1;
+       int             can_suspend = hcd->can_wakeup;
        unsigned long   flags;
 
        spin_lock_irqsave (&ohci->lock, flags);