diff --git a/usb-linux.c b/usb-linux.c index 67e4acd511..3c724baf69 100644 --- a/usb-linux.c +++ b/usb-linux.c @@ -1265,6 +1265,15 @@ static int usb_host_scan(void *opaque, USBScanFunc *func) /* only check the host once */ if (!usb_fs_type) { + dir = opendir(USBSYSBUS_PATH "/devices"); + if (dir) { + /* devices found in /dev/bus/usb/ (yes - not a mistake!) */ + strcpy(devpath, USBDEVBUS_PATH); + usb_fs_type = USB_FS_SYS; + closedir(dir); + dprintf(USBDBG_DEVOPENED, USBSYSBUS_PATH); + goto found_devices; + } f = fopen(USBPROCBUS_PATH "/devices", "r"); if (f) { /* devices found in /proc/bus/usb/ */ @@ -1284,15 +1293,6 @@ static int usb_host_scan(void *opaque, USBScanFunc *func) dprintf(USBDBG_DEVOPENED, USBDEVBUS_PATH); goto found_devices; } - dir = opendir(USBSYSBUS_PATH "/devices"); - if (dir) { - /* devices found in /dev/bus/usb/ (yes - not a mistake!) */ - strcpy(devpath, USBDEVBUS_PATH); - usb_fs_type = USB_FS_SYS; - closedir(dir); - dprintf(USBDBG_DEVOPENED, USBSYSBUS_PATH); - goto found_devices; - } found_devices: if (!usb_fs_type) { monitor_printf(mon, "husb: unable to access USB devices\n");