summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host
diff options
context:
space:
mode:
authorXenia Ragiadakou2013-09-09 12:29:50 +0200
committerSarah Sharp2013-10-16 21:24:28 +0200
commit20e7acb13ff48fbc884d5918c3697c27de63922a (patch)
tree7bb80a06ac376a11a86afff87db4cf4e1bb00262 /drivers/usb/host
parentxhci: refactor TRB_ADDR_DEV case into function (diff)
downloadkernel-qcow2-linux-20e7acb13ff48fbc884d5918c3697c27de63922a.tar.gz
kernel-qcow2-linux-20e7acb13ff48fbc884d5918c3697c27de63922a.tar.xz
kernel-qcow2-linux-20e7acb13ff48fbc884d5918c3697c27de63922a.zip
xhci: use completion event's slot id rather than dig it out of command
Since the slot id retrieved from the Reset Device TRB matches the slot id in the command completion event, which is available, there is no need to determine it again. This patch removes the uneccessary reassignment to slot id and adds a WARN_ON in case the two Slot ID fields differ (although according xhci spec rev1.0 they should not differ). Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r--drivers/usb/host/xhci-ring.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index e3b61b834aeb..88939b798ac6 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1547,9 +1547,9 @@ bandwidth_change:
xhci_handle_cmd_reset_ep(xhci, event, xhci->cmd_ring->dequeue);
break;
case TRB_TYPE(TRB_RESET_DEV):
+ WARN_ON(slot_id != TRB_TO_SLOT_ID(
+ le32_to_cpu(xhci->cmd_ring->dequeue->generic.field[3])));
xhci_dbg(xhci, "Completed reset device command.\n");
- slot_id = TRB_TO_SLOT_ID(
- le32_to_cpu(xhci->cmd_ring->dequeue->generic.field[3]));
virt_dev = xhci->devs[slot_id];
if (virt_dev)
handle_cmd_in_cmd_wait_list(xhci, virt_dev, event);