Re: 2.6.25-rc7: Ugh. ---> PATCH

Mark Lord
2008-04-02T15:44:18Z

This patch seems to fix it.
Could you guys look this over some more,
as I really am not familiar with the USB code.

* * * *

When comparing 2.6.24 against 2.6.25, this line of code
stood out as not looking entirely correct, given the new
uses of QH_STATE_UNLINK_WAIT in 2.6.25.

Applying this patch seems to fix the USB suspend/resume deaths
on my machine here. More testing is needed to be sure.

Signed-off-by: Mark Lord <mlord@pobox.com>

--- linux-2.6.25-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 11:36:13.000000000 -0400
@@ -815,7 +815,7 @@
end_unlink_async(ehci);

/* if it's not linked then there's nothing to do */
- if (qh->qh_state != QH_STATE_LINKED)
+ if (qh->qh_state != QH_STATE_LINKED && qh->qh_state != QH_STATE_UNLINK_WAIT)
;

/* defer till later if busy */