This is a note to let you know that I've just added the patch titled
xhci: Reset reserved command ring TRBs on cleanup.
to the 3.0-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
xhci-reset-reserved-command-ring-trbs-on-cleanup.patch
and it can be found in the queue-3.0 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 33b2831ac870d50cc8e01c317b07fb1e69c13fe1 Mon Sep 17 00:00:00 2001
From: Sarah Sharp <[email protected]>
Date: Tue, 8 May 2012 07:09:26 -0700
Subject: xhci: Reset reserved command ring TRBs on cleanup.
From: Sarah Sharp <[email protected]>
commit 33b2831ac870d50cc8e01c317b07fb1e69c13fe1 upstream.
When the xHCI driver needs to clean up memory (perhaps due to a failed
register restore on resume from S3 or resume from S4), it needs to reset
the number of reserved TRBs on the command ring to zero. Otherwise,
several resume cycles (about 30) with a UAS device attached will
continually increment the number of reserved TRBs, until all command
submissions fail because there isn't enough room on the command ring.
This patch should be backported to kernels as old as 2.6.32,
that contain the commit 913a8a344ffcaf0b4a586d6662a2c66a7106557d
"USB: xhci: Change how xHCI commands are handled."
Signed-off-by: Sarah Sharp <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/usb/host/xhci-mem.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/usb/host/xhci-mem.c
+++ b/drivers/usb/host/xhci-mem.c
@@ -1520,6 +1520,7 @@ void xhci_mem_cleanup(struct xhci_hcd *x
xhci->event_ring = NULL;
xhci_dbg(xhci, "Freed event ring\n");
+ xhci->cmd_ring_reserved_trbs = 0;
if (xhci->cmd_ring)
xhci_ring_free(xhci, xhci->cmd_ring);
xhci->cmd_ring = NULL;
Patches currently in stable-queue which might be from
[email protected] are
queue-3.0/usbcore-enable-usb2-lpm-if-port-suspend-fails.patch
queue-3.0/xhci-reset-reserved-command-ring-trbs-on-cleanup.patch
queue-3.0/usb-xhci-handle-comp_tx_err-for-isoc-tds.patch
queue-3.0/xhci-add-new-short-tx-quirk-for-fresco-logic-host.patch
queue-3.0/xhci-avoid-dead-ports-when-config_usb_xhci_hcd-n.patch
queue-3.0/xhci-add-lynx-point-to-list-of-intel-switchable-hosts.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html