Commit 6f8ffc0b authored by Dan Williams's avatar Dan Williams Committed by Sarah Sharp

xhci: clarify logging in xhci_setup_device

Specify whether we are only performing the context setup portion of the
'address device' command, or the full operation issuing 'SetAddress'
on the wire.
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
parent 48fc7dbd
...@@ -3717,6 +3717,7 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev) ...@@ -3717,6 +3717,7 @@ int xhci_alloc_dev(struct usb_hcd *hcd, struct usb_device *udev)
static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev, static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
enum xhci_setup_dev setup) enum xhci_setup_dev setup)
{ {
const char *act = setup == SETUP_CONTEXT_ONLY ? "context" : "address";
unsigned long flags; unsigned long flags;
int timeleft; int timeleft;
struct xhci_virt_device *virt_dev; struct xhci_virt_device *virt_dev;
...@@ -3792,8 +3793,8 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev, ...@@ -3792,8 +3793,8 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
* command on a timeout. * command on a timeout.
*/ */
if (timeleft <= 0) { if (timeleft <= 0) {
xhci_warn(xhci, "%s while waiting for address device command\n", xhci_warn(xhci, "%s while waiting for setup %s command\n",
timeleft == 0 ? "Timeout" : "Signal"); timeleft == 0 ? "Timeout" : "Signal", act);
/* cancel the address device command */ /* cancel the address device command */
ret = xhci_cancel_cmd(xhci, NULL, cmd_trb); ret = xhci_cancel_cmd(xhci, NULL, cmd_trb);
if (ret < 0) if (ret < 0)
...@@ -3804,26 +3805,27 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev, ...@@ -3804,26 +3805,27 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
switch (virt_dev->cmd_status) { switch (virt_dev->cmd_status) {
case COMP_CTX_STATE: case COMP_CTX_STATE:
case COMP_EBADSLT: case COMP_EBADSLT:
xhci_err(xhci, "Setup ERROR: address device command for slot %d.\n", xhci_err(xhci, "Setup ERROR: setup %s command for slot %d.\n",
udev->slot_id); act, udev->slot_id);
ret = -EINVAL; ret = -EINVAL;
break; break;
case COMP_TX_ERR: case COMP_TX_ERR:
dev_warn(&udev->dev, "Device not responding to set address.\n"); dev_warn(&udev->dev, "Device not responding to setup %s.\n", act);
ret = -EPROTO; ret = -EPROTO;
break; break;
case COMP_DEV_ERR: case COMP_DEV_ERR:
dev_warn(&udev->dev, "ERROR: Incompatible device for address " dev_warn(&udev->dev,
"device command.\n"); "ERROR: Incompatible device for setup %s command\n", act);
ret = -ENODEV; ret = -ENODEV;
break; break;
case COMP_SUCCESS: case COMP_SUCCESS:
xhci_dbg_trace(xhci, trace_xhci_dbg_address, xhci_dbg_trace(xhci, trace_xhci_dbg_address,
"Successful Address Device command"); "Successful setup %s command", act);
break; break;
default: default:
xhci_err(xhci, "ERROR: unexpected command completion " xhci_err(xhci,
"code 0x%x.\n", virt_dev->cmd_status); "ERROR: unexpected setup %s command completion code 0x%x.\n",
act, virt_dev->cmd_status);
xhci_dbg(xhci, "Slot ID %d Output Context:\n", udev->slot_id); xhci_dbg(xhci, "Slot ID %d Output Context:\n", udev->slot_id);
xhci_dbg_ctx(xhci, virt_dev->out_ctx, 2); xhci_dbg_ctx(xhci, virt_dev->out_ctx, 2);
trace_xhci_address_ctx(xhci, virt_dev->out_ctx, 1); trace_xhci_address_ctx(xhci, virt_dev->out_ctx, 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment