]> git.baikalelectronics.ru Git - kernel.git/commit
xhci: fix giving back URB with incorrect status regression in 5.12
authorMathias Nyman <mathias.nyman@linux.intel.com>
Tue, 25 May 2021 07:40:59 +0000 (10:40 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 25 May 2021 08:21:47 +0000 (10:21 +0200)
commita7b736b13a4c3f4389cef7e75f880a21365981e4
tree2177d7ccc10eed811dc673b6dc91058179db94f8
parent1e73d1dc32af9e73e6f42e611e965774e4d2427d
xhci: fix giving back URB with incorrect status regression in 5.12

5.12 kernel changes how xhci handles cancelled URBs and halted
endpoints. Among these changes cancelled and stalled URBs are no longer
given back before they are cleared from xHC hardware cache.

These changes unfortunately cleared the -EPIPE status of a stalled
transfer in one case before giving bak the URB, causing a USB card reader
to fail from working.

Fixes: 41d14eb559fb ("xhci: split handling halted endpoints into two steps")
Cc: <stable@vger.kernel.org> # 5.12
Reported-by: Peter Ganzhorn <peter.ganzhorn@googlemail.com>
Tested-by: Peter Ganzhorn <peter.ganzhorn@googlemail.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Link: https://lore.kernel.org/r/20210525074100.1154090-2-mathias.nyman@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ring.c