From b0a2e9e7aa53b4c1b73d71dd8a9454263825e62b Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Thu, 20 Aug 2009 02:43:40 +0000 Subject: [PATCH] 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 --- src/add-ons/kernel/busses/usb/ohci.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/add-ons/kernel/busses/usb/ohci.cpp b/src/add-ons/kernel/busses/usb/ohci.cpp index ceb708fcde..bcb74ff48d 100644 --- a/src/add-ons/kernel/busses/usb/ohci.cpp +++ b/src/add-ons/kernel/busses/usb/ohci.cpp @@ -1036,7 +1036,7 @@ OHCI::_FinishTransfers() // get the last data toggle and store it for next time transfer->transfer->TransferPipe()->SetDataToggle( (transfer->endpoint->head_physical_descriptor - & OHCI_ENDPOINT_TOGGLE_CARRY) == 0); + & OHCI_ENDPOINT_TOGGLE_CARRY) != 0); if (transfer->transfer->IsFragmented()) { // this transfer may still have data left