USB: UHCI: disable remote wakeup when it's not needed
authorAlan Stern <stern@rowland.harvard.edu>
Tue, 22 Apr 2008 14:49:15 +0000 (10:49 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 2 May 2008 17:25:57 +0000 (10:25 -0700)
commitd8f12ab5d984761726e638a4222299a9fc516233
treecaa034c93caa7f63f63e11e5634c847a48b2686f
parent1b7b61c5d4071b9a25f6a9aae6f0a1e0efdbb2ae
USB: UHCI: disable remote wakeup when it's not needed

This patch (as1084b) fixes the way uhci-hcd handles polling and
remote wakeups for its root hubs.  When remote wakeup is disabled,
neither interrupts nor polling should be enabled during a root-hub
suspend.  Likewise, if interrupts are enabled during suspend then
polling isn't needed.

Furthermore the EGSM (Enter Global Suspend Mode) bit shouldn't be set
in the Command register unless remote wakeup is enabled.  Apparently
some controllers will issue a remote-wakeup interrupt whenever EGSM
is on, even if Resume-Detect interrupts are supposedly disabled.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/uhci-hcd.c
drivers/usb/host/uhci-hcd.h