commit | 9eda802d947d9c4212eb3f821fa51956029dade0 | [log] [tgz] |
---|---|---|
author | Chris Dickens <christopher.a.dickens@gmail.com> | Thu Jan 16 14:17:12 2020 -0800 |
committer | Chris Dickens <christopher.a.dickens@gmail.com> | Thu Jan 16 14:30:12 2020 -0800 |
tree | b9bf7b8f22dc379c5e02a8043ee611143d19a584 | |
parent | a5624b22267ec0e146825d3fe94d9e4b2f5ae503 [diff] |
linux_usbfs: Wait until all URBs have been reaped before freeing them Prior to this change, the URBs allocated for an individual transfer were freed when the last URB in the transfer was reaped. Normally this causes no issues because URBs are reaped in the order they were submitted. If the device is disconnected while multiple URBs are queued, these URBs may be reaped in an order that does not match that of submission. Change the logic to free the URBs when all the URBs of a transfer have been reaped rather than the last one. While in here, improve some debug messages. Closes #607 Signed-off-by: Chris Dickens <christopher.a.dickens@gmail.com>
libusb is a library for USB device access from Linux, macOS, Windows, OpenBSD/NetBSD and Haiku userspace. It is written in C (Haiku backend in C++) and licensed under the GNU Lesser General Public License version 2.1 or, at your option, any later version (see COPYING).
libusb is abstracted internally in such a way that it can hopefully be ported to other operating systems. Please see the PORTING file for more information.
libusb homepage: http://libusb.info/
Developers will wish to consult the API documentation: http://api.libusb.info
Use the mailing list for questions, comments, etc: http://mailing-list.libusb.info
(Please use the mailing list rather than mailing developers directly)