Linux: Don't print errors when cancel_transfer fails with NOT_FOUND
authorHans de Goede <hdegoede@redhat.com>
Mon, 26 Mar 2012 20:37:03 +0000 (21:37 +0100)
committerPete Batard <pete@akeo.ie>
Mon, 26 Mar 2012 20:41:50 +0000 (21:41 +0100)
* Under some cricumstances, LIBUSB_ERROR_NOT_FOUND is an expected
  return value for cancel_transfer so printing an error is undesirable.

libusb/io.c

index bb04a8f..c9df0cf 100644 (file)
@@ -1353,8 +1353,11 @@ int API_EXPORTED libusb_cancel_transfer(struct libusb_transfer *transfer)
        usbi_mutex_lock(&itransfer->lock);
        r = usbi_backend->cancel_transfer(itransfer);
        if (r < 0) {
-               usbi_err(TRANSFER_CTX(transfer),
-                       "cancel transfer failed error %d", r);
+               if (r != LIBUSB_ERROR_NOT_FOUND)
+                       usbi_err(TRANSFER_CTX(transfer),
+                               "cancel transfer failed error %d", r);
+               else
+                       usbi_dbg("cancel transfer failed error %d", r);
 
                if (r == LIBUSB_ERROR_NO_DEVICE)
                        itransfer->flags |= USBI_TRANSFER_DEVICE_DISAPPEARED;