mirror of
https://gitea.osmocom.org/sim-card/simtrace2.git
synced 2026-03-24 09:18:33 +03:00
host usb_util fix: used provided class, sub-class, and interfave when finding matching interfaces
Change-Id: Ibc06e751e6ca0f9e9a40d82c4eeddfb975240f91
This commit is contained in:
@@ -130,11 +130,11 @@ int dev_find_matching_interfaces(libusb_device *dev, int class, int sub_class, i
|
|||||||
for (k = 0; k < intf->num_altsetting; k++) {
|
for (k = 0; k < intf->num_altsetting; k++) {
|
||||||
const struct libusb_interface_descriptor *if_desc;
|
const struct libusb_interface_descriptor *if_desc;
|
||||||
if_desc = &intf->altsetting[k];
|
if_desc = &intf->altsetting[k];
|
||||||
if (class > 0 && if_desc->bInterfaceClass != class)
|
if (class >= 0 && if_desc->bInterfaceClass != class)
|
||||||
continue;
|
continue;
|
||||||
if (sub_class > 0 && if_desc->bInterfaceSubClass != sub_class)
|
if (sub_class >= 0 && if_desc->bInterfaceSubClass != sub_class)
|
||||||
continue;
|
continue;
|
||||||
if (protocol > 0 && if_desc->bInterfaceProtocol != protocol)
|
if (protocol >= 0 && if_desc->bInterfaceProtocol != protocol)
|
||||||
continue;
|
continue;
|
||||||
/* MATCH! */
|
/* MATCH! */
|
||||||
out[out_idx].usb_dev = dev;
|
out[out_idx].usb_dev = dev;
|
||||||
@@ -197,7 +197,7 @@ int usb_match_interfaces(libusb_context *ctx, const struct dev_id *dev_ids,
|
|||||||
dev_desc.idVendor, dev_desc.idProduct, addr);
|
dev_desc.idVendor, dev_desc.idProduct, addr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rc = dev_find_matching_interfaces(*dev, 255, 2, -1, out_cur, out_len_remain);
|
rc = dev_find_matching_interfaces(*dev, class, sub_class, protocol, out_cur, out_len_remain);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
continue;
|
continue;
|
||||||
out_cur += rc;
|
out_cur += rc;
|
||||||
|
|||||||
Reference in New Issue
Block a user