aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/xhci-ring.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 62c70c230e83..55dc15675068 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2900,6 +2900,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
2900 int running_total, trb_buff_len, td_len, td_remain_len, ret; 2900 int running_total, trb_buff_len, td_len, td_remain_len, ret;
2901 u64 start_addr, addr; 2901 u64 start_addr, addr;
2902 int i, j; 2902 int i, j;
2903 bool more_trbs_coming;
2903 2904
2904 ep_ring = xhci->devs[slot_id]->eps[ep_index].ring; 2905 ep_ring = xhci->devs[slot_id]->eps[ep_index].ring;
2905 2906
@@ -2965,9 +2966,11 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
2965 */ 2966 */
2966 if (j < trbs_per_td - 1) { 2967 if (j < trbs_per_td - 1) {
2967 field |= TRB_CHAIN; 2968 field |= TRB_CHAIN;
2969 more_trbs_coming = true;
2968 } else { 2970 } else {
2969 td->last_trb = ep_ring->enqueue; 2971 td->last_trb = ep_ring->enqueue;
2970 field |= TRB_IOC; 2972 field |= TRB_IOC;
2973 more_trbs_coming = false;
2971 } 2974 }
2972 2975
2973 /* Calculate TRB length */ 2976 /* Calculate TRB length */
@@ -2980,7 +2983,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags,
2980 length_field = TRB_LEN(trb_buff_len) | 2983 length_field = TRB_LEN(trb_buff_len) |
2981 remainder | 2984 remainder |
2982 TRB_INTR_TARGET(0); 2985 TRB_INTR_TARGET(0);
2983 queue_trb(xhci, ep_ring, false, false, 2986 queue_trb(xhci, ep_ring, false, more_trbs_coming,
2984 lower_32_bits(addr), 2987 lower_32_bits(addr),
2985 upper_32_bits(addr), 2988 upper_32_bits(addr),
2986 length_field, 2989 length_field,