]> git.karo-electronics.de Git - karo-tx-linux.git/commit
OHCI: fix regression upon awakening from hibernation
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 8 May 2008 18:21:22 +0000 (14:21 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 15 May 2008 14:50:00 +0000 (07:50 -0700)
commit45fa78357eab3287b5c39f2d983b91150b3f4bd8
tree46e57b2eded61c8ae67aaead4868140508baa6a7
parent2a57a7ee4005e63d1239b349aa8167093d93a11f
OHCI: fix regression upon awakening from hibernation

commit 43bbb7e015c4380064796c5868b536437b165615 in upstream

Drivers in the ohci-hcd family should perform certain tasks whenever
their controller device is resumed.  These include checking for loss
of power during suspend, turning on port power, and enabling interrupt
requests.

Until now these jobs have been carried out when the root hub is
resumed, not when the controller is.  Many drivers work around the
resulting awkwardness by automatically resuming their root hub
whenever the controller is resumed.  But this is wasteful and
unnecessary.

In 2.6.25, ohci-pci doesn't even do that.  After waking up from
hibernation, it simply leaves the controller in a RESET state, which
is useless.

To simplify the situation, this patch (as1066b) adds a new core
routine, ohci_finish_controller_resume(), which can be used by all the
OHCI-variant drivers.  They can call the new routine instead of
resuming their root hubs.  And ohci-pci.c can call it instead of using
its own special-purpose handler.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ohci-at91.c
drivers/usb/host/ohci-ep93xx.c
drivers/usb/host/ohci-hub.c
drivers/usb/host/ohci-omap.c
drivers/usb/host/ohci-pci.c
drivers/usb/host/ohci-pxa27x.c
drivers/usb/host/ohci-sm501.c
drivers/usb/host/ohci-ssb.c