I don't know why this was disabled, but not canceling the queued transfers after
a timeout leaks these transfers. In the end this would at least lead to a flood of canceled transfers on device unplug or, worse yet, exhaust the USB memory pool stalling all further transfers as seen in #4604. Probably fixes both issues, can't test though as I don't have the hardware. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34915 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
cb3d173dc2
commit
5926a6129f
@ -547,7 +547,7 @@ device_read(void* cookie, off_t pos, void* buf, size_t* count)
|
||||
B_RELATIVE_TIMEOUT, 500 * 1000);
|
||||
// handle time out
|
||||
if (ret < B_OK) {
|
||||
// usb->cancel_queued_transfers(device->pipe);
|
||||
usb->cancel_queued_transfers(device->pipe);
|
||||
if (ret == B_TIMED_OUT) {
|
||||
// a time_out is ok, since it only means that the device
|
||||
// had nothing to report (ie mouse/pen was not moved)
|
||||
|
Loading…
Reference in New Issue
Block a user