|
@@ -1711,6 +1711,9 @@ static void xhci_event_poll ( struct xhci_device *xhci ) {
|
1711
|
1711
|
( event->cons >> shift ) ) & XHCI_TRB_C ) )
|
1712
|
1712
|
break;
|
1713
|
1713
|
|
|
1714
|
+ /* Consume this TRB */
|
|
1715
|
+ event->cons++;
|
|
1716
|
+
|
1714
|
1717
|
/* Handle TRB */
|
1715
|
1718
|
type = ( trb->common.type & XHCI_TRB_TYPE_MASK );
|
1716
|
1719
|
switch ( type ) {
|
|
@@ -1733,14 +1736,11 @@ static void xhci_event_poll ( struct xhci_device *xhci ) {
|
1733
|
1736
|
|
1734
|
1737
|
default:
|
1735
|
1738
|
DBGC ( xhci, "XHCI %s unrecognised event %#x\n:",
|
1736
|
|
- xhci->name, event->cons );
|
|
1739
|
+ xhci->name, ( event->cons - 1 ) );
|
1737
|
1740
|
DBGC_HDA ( xhci, virt_to_phys ( trb ),
|
1738
|
1741
|
trb, sizeof ( *trb ) );
|
1739
|
1742
|
break;
|
1740
|
1743
|
}
|
1741
|
|
-
|
1742
|
|
- /* Consume this TRB */
|
1743
|
|
- event->cons++;
|
1744
|
1744
|
}
|
1745
|
1745
|
|
1746
|
1746
|
/* Update dequeue pointer if applicable */
|