PERFORCE change 170307 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Sat Nov 7 01:25:03 UTC 2009
http://p4web.freebsd.org/chv.cgi?CH=170307
Change 170307 by hselasky at hselasky_laptop001 on 2009/11/07 01:24:09
LibUSB v1.0 only:
- fix refcounting error during data transfer
- reported by Robert Jenssen
Affected files ...
.. //depot/projects/usb/src/lib/libusb/libusb10_io.c#9 edit
Differences ...
==== //depot/projects/usb/src/lib/libusb/libusb10_io.c#9 (text+ko) ====
@@ -148,19 +148,19 @@
goto do_done;
}
for (i = 0; i != nfds; i++) {
- if (fds[i].revents == 0)
- continue;
if (ppdev[i] != NULL) {
dev = libusb_get_device(ppdev[i]);
- err = libusb20_dev_process(ppdev[i]);
+ if (fds[i].revents == 0)
+ err = 0; /* nothing to do */
+ else
+ err = libusb20_dev_process(ppdev[i]);
+
if (err) {
/* cancel all transfers - device is gone */
libusb10_cancel_all_transfer(dev);
- /*
- * make sure we don't go into an infinite
- * loop
- */
+
+ /* remove USB device from polling loop */
libusb10_remove_pollfd(dev->ctx, &dev->dev_poll);
}
CTX_UNLOCK(ctx);
More information about the p4-projects
mailing list