| From a337e153766013c465bd074ebe8248c9c7cf3205 Mon Sep 17 00:00:00 2001 |
| From: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Date: Mon, 23 Jan 2017 14:19:52 +0200 |
| Subject: [PATCH 183/255] xhci: rename EP_HALT_PENDING to EP_STOP_CMD_PENDING |
| |
| We don't want to confuse halted and stalled endpoint states with |
| a flag indicating we are waiting for a stop endpoint command to |
| finish or timeout |
| |
| Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| (cherry picked from commit 9983a5fc39bfce7581db49f884aa782f24149d93) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| drivers/usb/host/xhci-ring.c | 6 +++--- |
| drivers/usb/host/xhci.c | 6 +++--- |
| drivers/usb/host/xhci.h | 2 +- |
| 3 files changed, 7 insertions(+), 7 deletions(-) |
| |
| --- a/drivers/usb/host/xhci-ring.c |
| +++ b/drivers/usb/host/xhci-ring.c |
| @@ -410,7 +410,7 @@ void xhci_ring_ep_doorbell(struct xhci_h |
| * pointer command pending because the device can choose to start any |
| * stream once the endpoint is on the HW schedule. |
| */ |
| - if ((ep_state & EP_HALT_PENDING) || (ep_state & SET_DEQ_PENDING) || |
| + if ((ep_state & EP_STOP_CMD_PENDING) || (ep_state & SET_DEQ_PENDING) || |
| (ep_state & EP_HALTED)) |
| return; |
| writel(DB_VALUE(ep_index, stream_id), db_addr); |
| @@ -626,7 +626,7 @@ static void td_to_noop(struct xhci_hcd * |
| static void xhci_stop_watchdog_timer_in_irq(struct xhci_hcd *xhci, |
| struct xhci_virt_ep *ep) |
| { |
| - ep->ep_state &= ~EP_HALT_PENDING; |
| + ep->ep_state &= ~EP_STOP_CMD_PENDING; |
| /* Can't del_timer_sync in interrupt, so we attempt to cancel. If the |
| * timer is running on another CPU, we don't decrement stop_cmds_pending |
| * (since we didn't successfully stop the watchdog timer). |
| @@ -917,7 +917,7 @@ void xhci_stop_endpoint_command_watchdog |
| |
| ep->stop_cmds_pending--; |
| |
| - if (ep->stop_cmds_pending || !(ep->ep_state & EP_HALT_PENDING)) { |
| + if (ep->stop_cmds_pending || !(ep->ep_state & EP_STOP_CMD_PENDING)) { |
| xhci_dbg_trace(xhci, trace_xhci_dbg_cancel_urb, |
| "Stop EP timer ran, but no command pending, " |
| "exiting."); |
| --- a/drivers/usb/host/xhci.c |
| +++ b/drivers/usb/host/xhci.c |
| @@ -1569,13 +1569,13 @@ int xhci_urb_dequeue(struct usb_hcd *hcd |
| /* Queue a stop endpoint command, but only if this is |
| * the first cancellation to be handled. |
| */ |
| - if (!(ep->ep_state & EP_HALT_PENDING)) { |
| + if (!(ep->ep_state & EP_STOP_CMD_PENDING)) { |
| command = xhci_alloc_command(xhci, false, false, GFP_ATOMIC); |
| if (!command) { |
| ret = -ENOMEM; |
| goto done; |
| } |
| - ep->ep_state |= EP_HALT_PENDING; |
| + ep->ep_state |= EP_STOP_CMD_PENDING; |
| ep->stop_cmds_pending++; |
| ep->stop_cmd_timer.expires = jiffies + |
| XHCI_STOP_EP_CMD_TIMEOUT * HZ; |
| @@ -3616,7 +3616,7 @@ void xhci_free_dev(struct usb_hcd *hcd, |
| |
| /* Stop any wayward timer functions (which may grab the lock) */ |
| for (i = 0; i < 31; ++i) { |
| - virt_dev->eps[i].ep_state &= ~EP_HALT_PENDING; |
| + virt_dev->eps[i].ep_state &= ~EP_STOP_CMD_PENDING; |
| del_timer_sync(&virt_dev->eps[i].stop_cmd_timer); |
| } |
| |
| --- a/drivers/usb/host/xhci.h |
| +++ b/drivers/usb/host/xhci.h |
| @@ -912,7 +912,7 @@ struct xhci_virt_ep { |
| unsigned int ep_state; |
| #define SET_DEQ_PENDING (1 << 0) |
| #define EP_HALTED (1 << 1) /* For stall handling */ |
| -#define EP_HALT_PENDING (1 << 2) /* For URB cancellation */ |
| +#define EP_STOP_CMD_PENDING (1 << 2) /* For URB cancellation */ |
| /* Transitioning the endpoint to using streams, don't enqueue URBs */ |
| #define EP_GETTING_STREAMS (1 << 3) |
| #define EP_HAS_STREAMS (1 << 4) |