summaryrefslogtreecommitdiffstats
path: root/include/scsi/scsi_host.h
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2011-04-05 13:36:15 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2011-04-13 15:44:02 -0700
commit94ae4976e253757e9b03a44d27d41b20f1829d80 (patch)
tree4ef5bdb65b1c968716fc7dc523bdd209b53793b4 /include/scsi/scsi_host.h
parent505d1f69ec4f8697a74711fb3a01ed151fda3834 (diff)
downloadblackbird-op-linux-94ae4976e253757e9b03a44d27d41b20f1829d80.tar.gz
blackbird-op-linux-94ae4976e253757e9b03a44d27d41b20f1829d80.zip
USB: EHCI: unlink unused QHs when the controller is stopped
This patch (as1458) fixes a problem affecting ultra-reliable systems: When hardware failover of an EHCI controller occurs, the data structures do not get released correctly. This is because the routine responsible for removing unused QHs from the async schedule assumes the controller is running properly (the frame counter is used in determining how long the QH has been idle) -- but when a failover causes the controller to be electronically disconnected from the PCI bus, obviously it stops running. The solution is simple: Allow scan_async() to remove a QH from the async schedule if it has been idle for long enough _or_ if the controller is stopped. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Reported-and-Tested-by: Dan Duval <dan.duval@stratus.com> CC: <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/scsi/scsi_host.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud