diff options
author | Pete Batard <pete@akeo.ie> | 2011-09-19 15:45:35 +0100 |
---|---|---|
committer | Peter Stuge <peter@stuge.se> | 2011-10-17 16:25:51 +0200 |
commit | efd3fae8f95ef7797ecd4b5731b198f100007d6a (patch) | |
tree | 268b5898274b8d85db367462d09f4d9df2391305 /libusb/os | |
parent | a8d1eb7963e5811e16e8fb7e157cf3a00d888347 (diff) | |
download | libusb-efd3fae8f95ef7797ecd4b5731b198f100007d6a.tar.gz |
Windows: fix communication with hubs
* issue reported by René Haunstrup in http://marc.info/?m=130503019227814
Diffstat (limited to 'libusb/os')
-rw-r--r-- | libusb/os/windows_usb.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c index a96c8c4..bf1b9c6 100644 --- a/libusb/os/windows_usb.c +++ b/libusb/os/windows_usb.c @@ -1446,6 +1446,7 @@ static int windows_get_device_list(struct libusb_context *ctx, struct discovered priv->depth = UINT8_MAX; // Overflow to 0 for HCD Hubs priv->path = dev_interface_path; dev_interface_path = NULL; break; + case HUB_PASS: case DEV_PASS: // If the device has already been setup, don't do it again if (priv->path != NULL) @@ -1455,6 +1456,7 @@ static int windows_get_device_list(struct libusb_context *ctx, struct discovered priv->apib = &usb_api_backend[api]; switch(api) { case USB_API_COMPOSITE: + case USB_API_HUB: break; default: // For other devices, the first interface is the same as the device @@ -1470,10 +1472,6 @@ static int windows_get_device_list(struct libusb_context *ctx, struct discovered break; } break; - case HUB_PASS: - priv->apib = &usb_api_backend[api]; - priv->path = dev_interface_path; dev_interface_path = NULL; - break; case GEN_PASS: r = init_device(dev, parent_dev, (uint8_t)port_nr, dev_id_path, dev_info_data.DevInst); if (r == LIBUSB_SUCCESS) { |