Notify the finisher thread after canceling transfers. It was possible that freeing the allocated

transfer resources would be delayed unnecessarily until some other transfer completed and woke up
the finisher thread. Found by Salvatore Benedetto, thanks!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23713 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Michael Lotz
2008-01-24 09:51:02 +00:00
parent 72f7b29018
commit 26f2e4a061
+3
View File
@@ -906,6 +906,9 @@ EHCI::CancelQueuedTransfers(Pipe *pipe, bool force)
}
Unlock();
// notify the finisher so it can clean up the canceled transfers
release_sem_etc(fFinishTransfersSem, 1, B_DO_NOT_RESCHEDULE);
return B_OK;
}