summaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-ring.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-11-06 10:11:46 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-11-06 10:11:46 +0100
commit90b4d60c6103105a634c495003c2ce931f075f63 (patch)
tree033f07fb175a5e0651f6a63fc0fe8e1860555ce5 /drivers/usb/host/xhci-ring.c
parentbac91462e8a8609d7be02a2cbf5c2b406b04ed9f (diff)
parent8f0d8163b50e01f398b14bcd4dc039ac5ab18d64 (diff)
downloadblackbird-op-linux-90b4d60c6103105a634c495003c2ce931f075f63.tar.gz
blackbird-op-linux-90b4d60c6103105a634c495003c2ce931f075f63.zip
Merge tag 'v3.7-rc3' into HEAD
Linux 3.7-rc3
Diffstat (limited to 'drivers/usb/host/xhci-ring.c')
-rw-r--r--drivers/usb/host/xhci-ring.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index c6ebb176dc4f..4e1a8946b8d1 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1228,6 +1228,17 @@ static void xhci_cmd_to_noop(struct xhci_hcd *xhci, struct xhci_cd *cur_cd)
cur_seg = find_trb_seg(xhci->cmd_ring->first_seg,
xhci->cmd_ring->dequeue, &cycle_state);
+ if (!cur_seg) {
+ xhci_warn(xhci, "Command ring mismatch, dequeue = %p %llx (dma)\n",
+ xhci->cmd_ring->dequeue,
+ (unsigned long long)
+ xhci_trb_virt_to_dma(xhci->cmd_ring->deq_seg,
+ xhci->cmd_ring->dequeue));
+ xhci_debug_ring(xhci, xhci->cmd_ring);
+ xhci_dbg_ring_ptrs(xhci, xhci->cmd_ring);
+ return;
+ }
+
/* find the command trb matched by cd from command ring */
for (cmd_trb = xhci->cmd_ring->dequeue;
cmd_trb != xhci->cmd_ring->enqueue;
OpenPOWER on IntegriCloud