Don't set the start ISOC ASAP bit for non-isochronous TRBs.

MFC after:	1 week
This commit is contained in:
hselasky 2013-06-02 10:54:47 +00:00
parent c8786efb41
commit 58ab3853c2

View File

@ -1700,14 +1700,17 @@ restart:
dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT |
XHCI_TRB_3_TYPE_SET(temp->trb_type) |
(temp->do_isoc_sync ?
XHCI_TRB_3_FRID_SET(temp->isoc_frame / 8) :
XHCI_TRB_3_ISO_SIA_BIT) |
XHCI_TRB_3_TBC_SET(temp->tbc) |
XHCI_TRB_3_TLBPC_SET(temp->tlbpc);
temp->do_isoc_sync = 0;
if (temp->trb_type == XHCI_TRB_TYPE_ISOCH) {
if (temp->do_isoc_sync != 0) {
temp->do_isoc_sync = 0;
dword |= XHCI_TRB_3_FRID_SET(temp->isoc_frame / 8);
} else {
dword |= XHCI_TRB_3_ISO_SIA_BIT;
}
}
if (temp->direction == UE_DIR_IN) {
dword |= XHCI_TRB_3_DIR_IN;