|
@@ -4073,6 +4073,7 @@ static int queue_set_tr_deq(struct xhci_hcd *xhci, int slot_id,
|
|
|
u32 trb_slot_id = SLOT_ID_FOR_TRB(slot_id);
|
|
|
u32 trb_ep_index = EP_ID_FOR_TRB(ep_index);
|
|
|
u32 trb_stream_id = STREAM_ID_FOR_TRB(stream_id);
|
|
|
+ u32 trb_sct = 0;
|
|
|
u32 type = TRB_TYPE(TRB_SET_DEQ);
|
|
|
struct xhci_virt_ep *ep;
|
|
|
|
|
@@ -4091,7 +4092,9 @@ static int queue_set_tr_deq(struct xhci_hcd *xhci, int slot_id,
|
|
|
}
|
|
|
ep->queued_deq_seg = deq_seg;
|
|
|
ep->queued_deq_ptr = deq_ptr;
|
|
|
- return queue_command(xhci, lower_32_bits(addr) | cycle_state,
|
|
|
+ if (stream_id)
|
|
|
+ trb_sct = SCT_FOR_TRB(SCT_PRI_TR);
|
|
|
+ return queue_command(xhci, lower_32_bits(addr) | trb_sct | cycle_state,
|
|
|
upper_32_bits(addr), trb_stream_id,
|
|
|
trb_slot_id | trb_ep_index | type, false);
|
|
|
}
|