]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
xhci: Reset reserved command ring TRBs on cleanup.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 8 May 2012 14:09:26 +0000 (07:09 -0700)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Mon, 10 Feb 2014 21:11:19 +0000 (16:11 -0500)
commita4ad381723f28cef4b50f302801d9081e83f6ede
tree2a219525d82389ceaf50dd0b30df355483605096
parent4b95b8ee9bb1051c0f81922f970ed1e0977ed9b9
xhci: Reset reserved command ring TRBs on cleanup.

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 <sarah.a.sharp@linux.intel.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
drivers/usb/host/xhci-mem.c