EHCI: fix interrupt-driven remote wakeup
commit629e4427aa817d5c9f11885420abf54b8f5967dc
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 22 Jan 2007 21:08:53 +0000 (22 16:08 -0500)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 7 Feb 2007 23:44:39 +0000 (7 15:44 -0800)
tree33c5a88751c5934df34252998a562fa757451b14
parent1d619f128ba911cd3e6d6ad3475f146eb92f5c27
EHCI: fix interrupt-driven remote wakeup

Now that port status change notifications are interrupt-driven,
ehci-hcd needs to tell usbcore when a remote-wakeup resume operation
is finished -- we can no longer rely on the core to poll and find
out.  This patch (as843) uses the root-hub status timer to force a
poll after the resume is complete.

The patch also changes the test for detecting when the TDRSMDN resume
period has expired.  It's necessary to use time_after_eq() instead of
time_after(), since the polling is triggered precisely by a timer.
The same change is made for TDRSTR reset expiration, for consistency.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-hub.c