aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/xhci-ring.c5
-rw-r--r--drivers/usb/host/xhci.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 3e759af049b7..c35058b94de6 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -3293,6 +3293,11 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
3293 } else { 3293 } else {
3294 td->last_trb = ep_ring->enqueue; 3294 td->last_trb = ep_ring->enqueue;
3295 field |= TRB_IOC; 3295 field |= TRB_IOC;
3296 if (xhci->hci_version == 0x100) {
3297 /* Set BEI bit except for the last td */
3298 if (i < num_tds - 1)
3299 field |= TRB_BEI;
3300 }
3296 more_trbs_coming = false; 3301 more_trbs_coming = false;
3297 } 3302 }
3298 3303
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index af8b66f2fd00..33a49d5d6c22 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -964,6 +964,8 @@ struct xhci_event_cmd {
964/* The buffer pointer contains immediate data */ 964/* The buffer pointer contains immediate data */
965#define TRB_IDT (1<<6) 965#define TRB_IDT (1<<6)
966 966
967/* Block Event Interrupt */
968#define TRB_BEI (1<<9)
967 969
968/* Control transfer TRB specific fields */ 970/* Control transfer TRB specific fields */
969#define TRB_DIR_IN (1<<16) 971#define TRB_DIR_IN (1<<16)