Even though the specs say the toggle carry field contains the value of the last

retired descriptor, it actually contains the value that is to be used next.
Confirmed that by cross-referencing FreeBSD.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32531 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz
2009-08-20 02:43:40 +00:00
parent f2b42dbb1b
commit b0a2e9e7aa
+1 -1
View File
@@ -1036,7 +1036,7 @@ OHCI::_FinishTransfers()
// get the last data toggle and store it for next time // get the last data toggle and store it for next time
transfer->transfer->TransferPipe()->SetDataToggle( transfer->transfer->TransferPipe()->SetDataToggle(
(transfer->endpoint->head_physical_descriptor (transfer->endpoint->head_physical_descriptor
& OHCI_ENDPOINT_TOGGLE_CARRY) == 0); & OHCI_ENDPOINT_TOGGLE_CARRY) != 0);
if (transfer->transfer->IsFragmented()) { if (transfer->transfer->IsFragmented()) {
// this transfer may still have data left // this transfer may still have data left