summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorthompsa <thompsa@FreeBSD.org>2010-05-17 23:59:14 +0000
committerthompsa <thompsa@FreeBSD.org>2010-05-17 23:59:14 +0000
commit90fb8f94bd2930565982e30ae0b9f6d1ee1bda6a (patch)
tree5f355348998f864c2a7c69ae1b09ba29554f731e /lib
parentfe4b80709b0c6a420232cfe54bcb668771f04347 (diff)
downloadFreeBSD-src-90fb8f94bd2930565982e30ae0b9f6d1ee1bda6a.zip
FreeBSD-src-90fb8f94bd2930565982e30ae0b9f6d1ee1bda6a.tar.gz
MFC r203773
Within libusb 0.1 API, bus number is always faked to 0. Device numbers, however, are possitive and seem to be reverse sorted in the list. Conform device numbering and bring a result that is consistent with the libusb 0.1 API. It is now possible to distinguish a device based on its (bus, dev) numbers.
Diffstat (limited to 'lib')
-rw-r--r--lib/libusb/libusb20_compat01.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libusb/libusb20_compat01.c b/lib/libusb/libusb20_compat01.c
index e53770c..43e3344 100644
--- a/lib/libusb/libusb20_compat01.c
+++ b/lib/libusb/libusb20_compat01.c
@@ -829,6 +829,7 @@ usb_find_devices(void)
struct libusb20_device *pdev;
struct usb_device *udev;
struct LIBUSB20_DEVICE_DESC_DECODED *ddesc;
+ int devnum;
int err;
/* cleanup after last device search */
@@ -855,6 +856,7 @@ usb_find_devices(void)
}
/* iterate all devices */
+ devnum = 1;
pdev = NULL;
while ((pdev = libusb20_be_device_foreach(usb_backend, pdev))) {
udev = malloc(sizeof(*udev));
@@ -891,6 +893,7 @@ usb_find_devices(void)
/* truncate number of configurations */
udev->descriptor.bNumConfigurations = USB_MAXCONFIG;
}
+ udev->devnum = devnum++;
/* link together the two structures */
udev->dev = pdev;
pdev->privLuData = udev;
OpenPOWER on IntegriCloud