Add debugging for Set Address and No-op commands.
Signed-off-by: Sarah Sharp <[email protected]>
---
drivers/usb/host/xhci-ring.c | 4 ++++
drivers/usb/host/xhci.c | 6 ++++++
2 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index eda2d7fd..3601cdf 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1517,6 +1517,9 @@ bandwidth_change:
complete(&xhci->devs[slot_id]->cmd_completion);
break;
case TRB_TYPE(TRB_ADDR_DEV):
+ xhci_dbg(xhci, "Set Address command completion for %016llx,
comp code %u.\n",
+ (unsigned long long) cmd_dma,
+ GET_COMP_CODE(le32_to_cpu(event->status)));
xhci->devs[slot_id]->cmd_status =
GET_COMP_CODE(le32_to_cpu(event->status));
complete(&xhci->addr_dev);
break;
@@ -1527,6 +1530,7 @@ bandwidth_change:
handle_set_deq_completion(xhci, event, xhci->cmd_ring->dequeue);
break;
case TRB_TYPE(TRB_CMD_NOOP):
+ xhci_dbg(xhci, "Noop command completed.\n");
break;
case TRB_TYPE(TRB_RESET_EP):
handle_reset_ep_completion(xhci, event,
xhci->cmd_ring->dequeue);
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 6d75bbe..51a8c55 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -3756,6 +3756,12 @@ int xhci_address_device(struct usb_hcd *hcd, struct
usb_device *udev)
case COMP_EBADSLT:
xhci_err(xhci, "Setup ERROR: address device command for slot
%d.\n",
udev->slot_id);
+ xhci_dbg(xhci, "Command ring.\n");
+ xhci_debug_ring(xhci, xhci->cmd_ring);
+ xhci_dbg(xhci, "Event ring.\n");
+ xhci_debug_ring(xhci, xhci->event_ring);
+ xhci_dbg(xhci, "Slot ID %d Output Context:\n", udev->slot_id);
+ xhci_dbg_ctx(xhci, virt_dev->out_ctx, 2);
ret = -EINVAL;
break;
case COMP_TX_ERR:
--
1.7.9
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html