usb: xhci: Reset halted endpoint if trb is noop
authorLu Baolu <baolu.lu@linux.intel.com>
Fri, 6 Oct 2017 14:45:29 +0000 (17:45 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Oct 2017 08:38:13 +0000 (10:38 +0200)
commit810a624bd1b64b13ddcc2eb5c1880526a750a870
treec10381550bc82cd471520b4429cb8d698046a6fc
parentd1aad52cf8b3f95dfe9b5b64da66343306ddf73b
usb: xhci: Reset halted endpoint if trb is noop

When a URB is cancled, xhci driver turns the untransferred trbs
into no-ops.  If an endpoint stalls on a no-op trb that belongs
to the cancelled URB, the event handler won't reset the endpoint.
Hence, it will stay halted.

Link: http://marc.info/?l=linux-usb&m=149582598330127&w=2
Cc: <stable@vger.kernel.org>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ring.c