aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r--drivers/usb/host/xhci-ring.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index de7dce6eb474..ece0787d62bf 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -856,13 +856,16 @@ static void xhci_kill_endpoint_urbs(struct xhci_hcd *xhci,
856 (ep->ep_state & EP_GETTING_NO_STREAMS)) { 856 (ep->ep_state & EP_GETTING_NO_STREAMS)) {
857 int stream_id; 857 int stream_id;
858 858
859 for (stream_id = 0; stream_id < ep->stream_info->num_streams; 859 for (stream_id = 1; stream_id < ep->stream_info->num_streams;
860 stream_id++) { 860 stream_id++) {
861 ring = ep->stream_info->stream_rings[stream_id];
862 if (!ring)
863 continue;
864
861 xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, 865 xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb,
862 "Killing URBs for slot ID %u, ep index %u, stream %u", 866 "Killing URBs for slot ID %u, ep index %u, stream %u",
863 slot_id, ep_index, stream_id + 1); 867 slot_id, ep_index, stream_id);
864 xhci_kill_ring_urbs(xhci, 868 xhci_kill_ring_urbs(xhci, ring);
865 ep->stream_info->stream_rings[stream_id]);
866 } 869 }
867 } else { 870 } else {
868 ring = ep->ring; 871 ring = ep->ring;