diff options
Diffstat (limited to 'dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch')
-rw-r--r-- | dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch | 24 |
1 files changed, 0 insertions, 24 deletions
diff --git a/dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch b/dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch deleted file mode 100644 index 563397d2fea3..000000000000 --- a/dev-libs/libusb/files/libusb-0.1.12-no-infinite-bulk.patch +++ /dev/null @@ -1,24 +0,0 @@ -Patch-from: http://bugs.gentoo.org/show_bug.cgi?id=225879 -Gentoo-Bug: 225879 -Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> - -Prevents an infinite loop if device is removed during usb_bulk_read or -usb_bulk_write. - -diff -Naur libusb-0.1.12/linux.c libusb-0.1.12-new/linux.c ---- libusb-0.1.12/linux.c 2006-03-04 04:52:46.000000000 +0200 -+++ libusb-0.1.12-new/linux.c 2008-06-11 14:22:20.000000000 +0300 -@@ -220,6 +220,13 @@ - waiting = 1; - context = NULL; - while (!urb.usercontext && ((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) { -+ if (ret == -1) -+ { -+ if (errno == ENODEV) -+ { -+ return -ENODEV; -+ } -+ } - tv.tv_sec = 0; - tv.tv_usec = 1000; // 1 msec - select(dev->fd + 1, NULL, &writefds, NULL, &tv); //sub second wait |