summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2012-09-12 02:03:47 +0100
committerPete Batard <pete@akeo.ie>2012-09-13 00:46:40 +0100
commit00a3cf9630d8376ba0c1351d30da06dc9a5f8660 (patch)
tree7f88bfc133f066d2d480984c4de9b8d6cde97853
parentc55ff2e00c2d0f893157347e8b6efb7eac335af3 (diff)
downloadlibusb-00a3cf9630d8376ba0c1351d30da06dc9a5f8660.tar.gz
All: Avoid polluting errors reported on device disconnect
* Makes libusb_cancel_transfer not log an error when the cancel fails with LIBUSB_ERROR_NO_DEVICE, so that apps can properly clean things up on device disconnect without flooding the console with these errors. * Also, some devices (Cypress FX) may switch VID:PID on the fly during firmware upload => reduce severity of the Windows message when that happens.
-rw-r--r--libusb/io.c3
-rw-r--r--libusb/os/windows_usb.c2
-rw-r--r--libusb/version_nano.h2
3 files changed, 4 insertions, 3 deletions
diff --git a/libusb/io.c b/libusb/io.c
index 8a8bc67..1338981 100644
--- a/libusb/io.c
+++ b/libusb/io.c
@@ -1417,7 +1417,8 @@ int API_EXPORTED libusb_cancel_transfer(struct libusb_transfer *transfer)
usbi_mutex_lock(&itransfer->lock);
r = usbi_backend->cancel_transfer(itransfer);
if (r < 0) {
- if (r != LIBUSB_ERROR_NOT_FOUND)
+ if (r != LIBUSB_ERROR_NOT_FOUND &&
+ r != LIBUSB_ERROR_NO_DEVICE)
usbi_err(TRANSFER_CTX(transfer),
"cancel transfer failed error %d", r);
else
diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c
index 3b751a5..946c71f 100644
--- a/libusb/os/windows_usb.c
+++ b/libusb/os/windows_usb.c
@@ -2877,7 +2877,7 @@ static int winusbx_submit_control_transfer(int sub_api, struct usbi_transfer *it
} else {
if (!WinUSBX[sub_api].ControlTransfer(wfd.handle, *setup, transfer->buffer + LIBUSB_CONTROL_SETUP_SIZE, size, NULL, wfd.overlapped)) {
if(GetLastError() != ERROR_IO_PENDING) {
- usbi_err(ctx, "ControlTransfer failed: %s", windows_error_str(0));
+ usbi_warn(ctx, "ControlTransfer failed: %s", windows_error_str(0));
usbi_free_fd(wfd.fd);
return LIBUSB_ERROR_IO;
}
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index f5bc1ae..e645bd3 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10560
+#define LIBUSB_NANO 10561