EHCI: Current qtd field in qh overlay has no terminate bit.

Don't initialize the current qtd field with the terminate bit as it does
not exist in this field. While the lower 5 bits are documented as being
ignored anyway, this is more correct. Should cause no functional change.
This commit is contained in:
Michael Lotz 2016-01-30 13:40:42 +01:00
parent ad72f4caed
commit 3da7be22fb

View File

@ -434,7 +434,7 @@ EHCI::EHCI(pci_info *info, Stack *stack)
for (int32 i = 0; i < EHCI_INTERRUPT_ENTRIES_COUNT; i++) {
ehci_qh *queueHead = &fInterruptEntries[i].queue_head;
queueHead->this_phy = physicalBase | EHCI_ITEM_TYPE_QH;
queueHead->current_qtd_phy = EHCI_ITEM_TERMINATE;
queueHead->current_qtd_phy = 0;
queueHead->overlay.next_phy = EHCI_ITEM_TERMINATE;
queueHead->overlay.alt_next_phy = EHCI_ITEM_TERMINATE;
queueHead->overlay.token = EHCI_QTD_STATUS_HALTED;
@ -549,7 +549,6 @@ EHCI::EHCI(pci_info *info, Stack *stack)
fAsyncQueueHead->endpoint_chars = EHCI_QH_CHARS_EPS_HIGH
| EHCI_QH_CHARS_RECHEAD;
fAsyncQueueHead->endpoint_caps = 1 << EHCI_QH_CAPS_MULT_SHIFT;
fAsyncQueueHead->current_qtd_phy = EHCI_ITEM_TERMINATE;
fAsyncQueueHead->overlay.next_phy = EHCI_ITEM_TERMINATE;
WriteOpReg(EHCI_ASYNCLISTADDR, (uint32)fAsyncQueueHead->this_phy);
@ -2138,7 +2137,7 @@ EHCI::CreateQueueHead()
descriptor->token &= ~EHCI_QTD_STATUS_ACTIVE;
result->stray_log = descriptor;
result->element_log = descriptor;
result->current_qtd_phy = EHCI_ITEM_TERMINATE;
result->current_qtd_phy = 0;
result->overlay.next_phy = descriptor->this_phy;
result->overlay.alt_next_phy = EHCI_ITEM_TERMINATE;
result->overlay.token = 0;