[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200804021340.21348.david-b@pacbell.net>
Date: Wed, 2 Apr 2008 13:40:20 -0700
From: David Brownell <david-b@...bell.net>
To: Greg KH <greg@...ah.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
linux-usb@...r.kernel.org, lkml <linux-kernel@...r.kernel.org>,
Mark Lord <lkml@....ca>
Subject: [PATCH 2.6.25-rc8] usb: another ehci_iaa_watchdog fix
This patch, suggested by Alan Stern, fixes the hung USB issues
on my notebook from suspend/resume cycles.
It does so by eliminating some confusion about the internal state
machine associated with unlinking from the EHCI async schedule ring,
which caused a recent regression:
http://bugzilla.kernel.org/show_bug.cgi?id=10345
Signed-off-by: Mark Lord <mlord@...ox.com>
Signed-off-by: David Brownell <dbrownell@...rs.sourceforge.net>
---
Merge before 2.6.25-final please...
--- rc8/drivers/usb/host/ehci-hub.c 2008-03-11 11:18:40.000000000 -0400
+++ linux/drivers/usb/host/ehci-hub.c 2008-04-02 13:28:50.000000000 -0400
@@ -135,8 +135,6 @@
hcd->state = HC_STATE_QUIESCING;
}
ehci->command = ehci_readl(ehci, &ehci->regs->command);
- if (ehci->reclaim)
- end_unlink_async(ehci);
ehci_work(ehci);
/* Unlike other USB host controller types, EHCI doesn't have
@@ -180,6 +178,9 @@
ehci_halt (ehci);
hcd->state = HC_STATE_SUSPENDED;
+ if (ehci->reclaim)
+ end_unlink_async(ehci);
+
/* allow remote wakeup */
mask = INTR_MASK;
if (!device_may_wakeup(&hcd->self.root_hub->dev))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists