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 <[EMAIL PROTECTED]> Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]> diff -Nru a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c --- a/drivers/usb/host/ohci-hub.c 2004-12-16 15:36:00 -08:00 +++ b/drivers/usb/host/ohci-hub.c 2004-12-16 15:36:00 -08:00 @@ -305,7 +305,7 @@ { 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); ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel