aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2015-01-16 10:54:02 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-01-25 07:59:43 -0500
commita6134136d938ed9298f15e865e4a035f9c0eeb9c (patch)
tree6bdc8dff53657003fe7163cd96705b628bbed650
parent99705092a83f0202d2b64c1b754a831464c5ce90 (diff)
xhci: Silence "xHCI xhci_drop_endpoint called with disabled ep ..." messages
When re-applying the configuration after a successful usb device reset, xhci_discover_or_reset_device has already dropped the endpoints, and free-ed the rings. The endpoints already being dropped is expected, and should not lead to warnings. Use the fact that the rings are also free-ed in this scenario to detect this, and suppress the "xHCI xhci_drop_endpoint called with disabled ep ..." message in this case. Signed-off-by: Hans de Goede <hdegoede@redhat.com> -- Changes in v2: Move the ring check to only guard the xhci_warn, so as to avoid side-effects in case we have a scenario where the rings are free-ed, but the endpoint is not yet dropped. Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/host/xhci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 15d8c221442f..ec8ac1674854 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1673,8 +1673,10 @@ int xhci_drop_endpoint(struct usb_hcd *hcd, struct usb_device *udev,
1673 cpu_to_le32(EP_STATE_DISABLED)) || 1673 cpu_to_le32(EP_STATE_DISABLED)) ||
1674 le32_to_cpu(ctrl_ctx->drop_flags) & 1674 le32_to_cpu(ctrl_ctx->drop_flags) &
1675 xhci_get_endpoint_flag(&ep->desc)) { 1675 xhci_get_endpoint_flag(&ep->desc)) {
1676 xhci_warn(xhci, "xHCI %s called with disabled ep %p\n", 1676 /* Do not warn when called after a usb_device_reset */
1677 __func__, ep); 1677 if (xhci->devs[udev->slot_id]->eps[ep_index].ring != NULL)
1678 xhci_warn(xhci, "xHCI %s called with disabled ep %p\n",
1679 __func__, ep);
1678 return 0; 1680 return 0;
1679 } 1681 }
1680 1682