summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2012-04-25 17:54:26 +0000
committerhselasky <hselasky@FreeBSD.org>2012-04-25 17:54:26 +0000
commit464b2b17a09a55fc8db82ce235a9eeda3e7eec1c (patch)
tree38ab24ae47560b1dfbcddd5a50952db47b955ca5
parent1ecac70b9bf3981112c5133eb6a2f90566188c97 (diff)
downloadFreeBSD-src-464b2b17a09a55fc8db82ce235a9eeda3e7eec1c.zip
FreeBSD-src-464b2b17a09a55fc8db82ce235a9eeda3e7eec1c.tar.gz
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 @
-rw-r--r--lib/libusb/libusb.h3
-rw-r--r--lib/libusb/libusb10.c10
2 files changed, 3 insertions, 10 deletions
diff --git a/lib/libusb/libusb.h b/lib/libusb/libusb.h
index 5f821b6..d8a22b5 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 893160e..44331bc 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");
OpenPOWER on IntegriCloud