diff --git a/libusb/sync.c b/libusb/sync.c index c3c92eb..6bdc3e1 100644 --- a/libusb/sync.c +++ b/libusb/sync.c @@ -135,6 +135,10 @@ int API_EXPORTED libusb_control_transfer(libusb_device_handle *dev_handle, case LIBUSB_TRANSFER_OVERFLOW: r = LIBUSB_ERROR_OVERFLOW; break; + case LIBUSB_TRANSFER_ERROR: + case LIBUSB_TRANSFER_CANCELLED: + r = LIBUSB_ERROR_IO; + break; default: usbi_warn(HANDLE_CTX(dev_handle), "unrecognised status code %d", transfer->status); @@ -205,6 +209,10 @@ static int do_sync_bulk_transfer(struct libusb_device_handle *dev_handle, case LIBUSB_TRANSFER_NO_DEVICE: r = LIBUSB_ERROR_NO_DEVICE; break; + case LIBUSB_TRANSFER_ERROR: + case LIBUSB_TRANSFER_CANCELLED: + r = LIBUSB_ERROR_IO; + break; default: usbi_warn(HANDLE_CTX(dev_handle), "unrecognised status code %d", transfer->status); diff --git a/libusb/version.h b/libusb/version.h index dfc15f1..01ad7fc 100644 --- a/libusb/version.h +++ b/libusb/version.h @@ -9,7 +9,7 @@ #define LIBUSB_MICRO 11 #endif #ifndef LIBUSB_NANO -#define LIBUSB_NANO 10496 +#define LIBUSB_NANO 10497 #endif /* LIBUSB_RC is the release candidate suffix. Should normally be empty. */ #ifndef LIBUSB_RC