[PATCH] usb ehci_iaa_watchdog fix

From: Mark Lord
Date: Wed Apr 02 2008 - 12:20:29 EST


David Brownell wrote:
Also, check out the thread on LKML started by Tino Keitel. He had
similar problems and found that reverting commit
e82cc1288fa57857c6af8c57f3d07096d4bcd9d9 fixed them.

And try the change I suggested there: taking the
HC_IS_RUNNING test out of ehci_iaa_watchdog().
..

Yup, that does indeed cure it.
Here's a patch, in case you didn't already generate one:

Signed-off-by: Mark Lord <mlord@xxxxxxxxx>

--- rc8/drivers/usb/host/ehci-hcd.c 2008-03-11 11:18:40.000000000 -0400
+++ linux/drivers/usb/host/ehci-hcd.c 2008-04-02 12:16:40.000000000 -0400
@@ -289,9 +289,7 @@
* (a) SMP races against real IAA firing and retriggering, and
* (b) clean HC shutdown, when IAA watchdog was pending.
*/
- if (ehci->reclaim
- && !timer_pending(&ehci->iaa_watchdog)
- && HC_IS_RUNNING(ehci_to_hcd(ehci)->state)) {
+ if (ehci->reclaim && !timer_pending(&ehci->iaa_watchdog)) {
u32 cmd, status;

/* If we get here, IAA is *REALLY* late. It's barely
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/