When calculating the actual length for requests, we don't want to include the

8 byte request header. It was included in the case of outgoing request
transfers before. In fact we always just want the length of the data phase,
which for non-requests just happens to be the whole transfer.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26508 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz
2008-07-19 15:59:21 +00:00
parent 2415100444
commit 2fc7e292e5
3 changed files with 6 additions and 7 deletions
+2 -3
View File
@@ -1089,11 +1089,10 @@ EHCI::FinishTransfers()
transfer->data_descriptor, transfer->data_descriptor,
vector, vectorCount, vector, vectorCount,
&nextDataToggle); &nextDataToggle);
} else { } else if (transfer->data_descriptor) {
// calculate transfered length // calculate transfered length
actualLength = ReadActualLength( actualLength = ReadActualLength(
(ehci_qtd *)transfer->queue_head->element_log, transfer->data_descriptor, &nextDataToggle);
&nextDataToggle);
} }
transfer->transfer->TransferPipe()->SetDataToggle(nextDataToggle); transfer->transfer->TransferPipe()->SetDataToggle(nextDataToggle);
+2 -2
View File
@@ -1029,10 +1029,10 @@ OHCI::_FinishTransfers()
actualLength = _ReadDescriptorChain( actualLength = _ReadDescriptorChain(
transfer->data_descriptor, transfer->data_descriptor,
vector, vectorCount); vector, vectorCount);
} else { } else if (transfer->data_descriptor) {
// read the actual length that was sent // read the actual length that was sent
actualLength = _ReadActualLength( actualLength = _ReadActualLength(
transfer->first_descriptor); transfer->data_descriptor);
} }
if (transfer->transfer->IsFragmented()) { if (transfer->transfer->IsFragmented()) {
+2 -2
View File
@@ -1225,10 +1225,10 @@ UHCI::FinishTransfers()
transfer->data_descriptor, transfer->data_descriptor,
vector, vectorCount, vector, vectorCount,
&lastDataToggle); &lastDataToggle);
} else { } else if (transfer->data_descriptor) {
// read the actual length that was sent // read the actual length that was sent
actualLength = ReadActualLength( actualLength = ReadActualLength(
transfer->first_descriptor, &lastDataToggle); transfer->data_descriptor, &lastDataToggle);
} }
transfer->transfer->TransferPipe()->SetDataToggle(lastDataToggle == 0); transfer->transfer->TransferPipe()->SetDataToggle(lastDataToggle == 0);