From 85ff9a0313a61bcb8708fec663a73da449dcc49f Mon Sep 17 00:00:00 2001 From: Hans Petter Selasky Date: Wed, 25 Apr 2012 17:54:26 +0000 Subject: [PATCH] Fix binary compatibility to the official LibUSB 1.0. This is useful for GNU/kFreeBSD and the libusb2debian port. Applications using the asynchronous API of LibUSB 1.0 needs to be recompiled after this update. Found by: lme @ --- lib/libusb/libusb.h | 3 +-- lib/libusb/libusb10.c | 10 ++-------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/lib/libusb/libusb.h b/lib/libusb/libusb.h index 5f821b613586..d8a22b569839 100644 --- a/lib/libusb/libusb.h +++ b/lib/libusb/libusb.h @@ -340,7 +340,7 @@ typedef void (*libusb_transfer_cb_fn) (struct libusb_transfer *transfer); typedef struct libusb_transfer { libusb_device_handle *dev_handle; uint8_t flags; - uint32_t endpoint; + uint8_t endpoint; uint8_t type; uint32_t timeout; enum libusb_transfer_status status; @@ -349,7 +349,6 @@ typedef struct libusb_transfer { libusb_transfer_cb_fn callback; void *user_data; uint8_t *buffer; - void *os_priv; int num_iso_packets; struct libusb_iso_packet_descriptor iso_packet_desc[0]; } libusb_transfer __aligned(sizeof(void *)); diff --git a/lib/libusb/libusb10.c b/lib/libusb/libusb10.c index 893160ee7921..44331bc6ad3c 100644 --- a/lib/libusb/libusb10.c +++ b/lib/libusb/libusb10.c @@ -1322,7 +1322,7 @@ libusb_submit_transfer(struct libusb_transfer *uxfer) struct libusb20_transfer *pxfer1; struct libusb_super_transfer *sxfer; struct libusb_device *dev; - uint32_t endpoint; + uint8_t endpoint; int err; if (uxfer == NULL) @@ -1333,9 +1333,6 @@ libusb_submit_transfer(struct libusb_transfer *uxfer) endpoint = uxfer->endpoint; - if (endpoint > 255) - return (LIBUSB_ERROR_INVALID_PARAM); - dev = libusb_get_device(uxfer->dev_handle); DPRINTF(dev->ctx, LIBUSB_DEBUG_FUNCTION, "libusb_submit_transfer enter"); @@ -1385,7 +1382,7 @@ libusb_cancel_transfer(struct libusb_transfer *uxfer) struct libusb20_transfer *pxfer1; struct libusb_super_transfer *sxfer; struct libusb_device *dev; - uint32_t endpoint; + uint8_t endpoint; int retval; if (uxfer == NULL) @@ -1397,9 +1394,6 @@ libusb_cancel_transfer(struct libusb_transfer *uxfer) endpoint = uxfer->endpoint; - if (endpoint > 255) - return (LIBUSB_ERROR_INVALID_PARAM); - dev = libusb_get_device(uxfer->dev_handle); DPRINTF(dev->ctx, LIBUSB_DEBUG_FUNCTION, "libusb_cancel_transfer enter");