]> git.itanic.dy.fi Git - linux-stable/commit
USB: EHCI: expedite unlinks when the root hub is suspended
authorAlan Stern <stern@rowland.harvard.edu>
Mon, 16 Mar 2009 18:21:56 +0000 (14:21 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 23 Mar 2009 21:55:29 +0000 (14:55 -0700)
commit6b2f291c5eb49398ee3fba6e3acb5b787a2d6808
treeca65608f304ef05c3dd04969accf8400aa2a6d9a
parent25be075ce7093af6ef783e3c01219836548466af
USB: EHCI: expedite unlinks when the root hub is suspended

commit 391016f6e2fe3b9979b4c6880a76e5e434d6947c upstream.

This patch (as1225) fixes a bug in ehci-hcd.  The condition for
whether unlinked QHs can become IDLE should not be that the controller
is halted, but rather that the controller isn't running.  In other
words when the root hub is suspended, the hardware doesn't own any
QHs.

This fixes a problem that can show up during hibernation: If a QH is
only partially unlinked when the root hub is frozen, then when the
root hub is thawed the QH won't be in the IDLE state.  As a result it
can't be used properly for new URB submissions.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-by: Brandon Philips <brandon@ifup.org>
Tested-by: Brandon Philips <brandon@ifup.org>
Acked-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/ehci-q.c