mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
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. There shouldn't be any negative change in behavior after this commit. Tested with: scanimage (sane) http://freebsd.czest.pl/~wkoszek/qemu/l.c Reviewed by: hps@
This commit is contained in:
parent
3d28af0246
commit
9c7e1de8c3
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=203773
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user