xhci: cleanup virtual endoint structure, remove stopped_stream
authorMathias Nyman <mathias.nyman@linux.intel.com>
Thu, 15 Jun 2017 08:55:47 +0000 (11:55 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Jun 2017 20:17:46 +0000 (22:17 +0200)
Get rid of stopped_stream member in virtual endpoint structure as
it is only used in one case when cleaning a halted endpoint.

Pass it as function parameter instead.

No functional changes

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
drivers/usb/host/xhci.c
drivers/usb/host/xhci.h

index 43ec7005701b8391d2a96b149820f1412cdbcf72..7f1139b49b3a23df3b50a7ba5fb0ca38313d5f81 100644 (file)
@@ -1832,11 +1832,8 @@ static void xhci_cleanup_halted_endpoint(struct xhci_hcd *xhci,
 
        xhci_queue_reset_ep(xhci, command, slot_id, ep_index, reset_type);
 
-       if (reset_type == EP_HARD_RESET) {
-               ep->stopped_stream = stream_id;
-               xhci_cleanup_stalled_ring(xhci, ep_index, td);
-               ep->stopped_stream = 0;
-       }
+       if (reset_type == EP_HARD_RESET)
+               xhci_cleanup_stalled_ring(xhci, ep_index, stream_id, td);
 
        xhci_ring_cmd_db(xhci);
 }
index ddeb943dc242f3792f724cd343322db73648b03d..56f85df013dbd7201d48c7a0afc2e93041d6e851 100644 (file)
@@ -2822,8 +2822,8 @@ static void xhci_setup_input_ctx_for_quirk(struct xhci_hcd *xhci,
                        added_ctxs, added_ctxs);
 }
 
-void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci,
-                       unsigned int ep_index, struct xhci_td *td)
+void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci, unsigned int ep_index,
+                              unsigned int stream_id, struct xhci_td *td)
 {
        struct xhci_dequeue_state deq_state;
        struct xhci_virt_ep *ep;
@@ -2836,7 +2836,7 @@ void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci,
         * or it will attempt to resend it on the next doorbell ring.
         */
        xhci_find_new_dequeue_state(xhci, udev->slot_id,
-                       ep_index, ep->stopped_stream, td, &deq_state);
+                       ep_index, stream_id, td, &deq_state);
 
        if (!deq_state.new_deq_ptr || !deq_state.new_deq_seg)
                return;
index acd66f7ea25c8978da8e927c52c05671daa4e1c5..650a2d9d4aecd29e2066ed0b4e1a55443a9176bc 100644 (file)
@@ -924,7 +924,6 @@ struct xhci_virt_ep {
 #define EP_GETTING_NO_STREAMS  (1 << 5)
        /* ----  Related to URB cancellation ---- */
        struct list_head        cancelled_td_list;
-       unsigned int            stopped_stream;
        /* Watchdog timer for stop endpoint command to cancel URBs */
        struct timer_list       stop_cmd_timer;
        struct xhci_hcd         *xhci;
@@ -2056,8 +2055,8 @@ void xhci_find_new_dequeue_state(struct xhci_hcd *xhci,
 void xhci_queue_new_dequeue_state(struct xhci_hcd *xhci,
                unsigned int slot_id, unsigned int ep_index,
                struct xhci_dequeue_state *deq_state);
-void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci,
-               unsigned int ep_index, struct xhci_td *td);
+void xhci_cleanup_stalled_ring(struct xhci_hcd *xhci, unsigned int ep_index,
+               unsigned int stream_id, struct xhci_td *td);
 void xhci_stop_endpoint_command_watchdog(unsigned long arg);
 void xhci_handle_command_timeout(struct work_struct *work);