From 1688e69d7c704e050b9cb8218a767477e1a5548e Mon Sep 17 00:00:00 2001 From: Pete Batard Date: Fri, 21 May 2010 13:43:59 +0100 Subject: use LIBUSB_DEVADDR_MAX for HCDs Using 0 can conflict with driverless devices. --- libusb/os/windows_usb.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libusb/os/windows_usb.c b/libusb/os/windows_usb.c index fcc2735..760ab9f 100644 --- a/libusb/os/windows_usb.c +++ b/libusb/os/windows_usb.c @@ -835,9 +835,9 @@ static int usb_enumerate_hub(struct libusb_context *ctx, struct discovered_devs continue; } - if (conn_info.DeviceAddress == 0) { - usbi_warn(ctx, "program assertion failed - device address is zero " - "(conflicts with root hub), ignoring device"); + if (conn_info.DeviceAddress == LIBUSB_DEVADDR_MAX) { + usbi_warn(ctx, "program assertion failed - device address is %d " + "(conflicts with root hub), ignoring device", LIBUSB_DEVADDR_MAX); continue; } @@ -846,7 +846,7 @@ static int usb_enumerate_hub(struct libusb_context *ctx, struct discovered_devs else { // HCDs have only 1 node, and it's always a hub - conn_info.DeviceAddress = 0; + conn_info.DeviceAddress = LIBUSB_DEVADDR_MAX; // using 0 can conflict with driverless devices conn_info.DeviceIsHub = true; conn_info.CurrentConfigurationValue = 1; } @@ -902,7 +902,8 @@ static int usb_enumerate_hub(struct libusb_context *ctx, struct discovered_devs // Generate a session ID // Will need to change the session_id computation if this assertion fails if (conn_info.DeviceAddress > LIBUSB_DEVADDR_MAX) { - usbi_warn(ctx, "program assertion failed - device address is greater than 255, ignoring device"); + usbi_warn(ctx, "program assertion failed - device address is greater than %d, ignoring device", + LIBUSB_DEVADDR_MAX); continue; } else { devaddr = (uint8_t)conn_info.DeviceAddress; -- cgit v1.2.1