diff options
-rw-r--r-- | drivers/usb/host/xhci-ring.c | 5 | ||||
-rw-r--r-- | drivers/usb/host/xhci.h | 2 |
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) |