diff options
author | Peter Stuge <peter@stuge.se> | 2011-07-27 03:15:03 +0200 |
---|---|---|
committer | Peter Stuge <peter@stuge.se> | 2011-09-15 15:16:20 +0200 |
commit | 0eb7e43759003610d1afe6148aa6ff4f5859ccb0 (patch) | |
tree | 960969636bf4ec4ca060560fb59b664b3fc6a467 /libusb/core.c | |
parent | 5010c3e80423d13acee6eeb4af974e8a9bcdd006 (diff) | |
download | libusbx-0eb7e43759003610d1afe6148aa6ff4f5859ccb0.tar.gz |
Allow devices with zero configurations to be discovered
At least in Linux, wireless USB devices have zero configurations until
they have been authorized. This device state can be set for any USB
device using:
echo 0 > /sys/bus/usb/devices/?-?/authorized
An unauthorized device would previously make usbi_sanitize_device()
return LIBUSB_ERROR_IO, although there really was no I/O error.
Reported-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Diffstat (limited to 'libusb/core.c')
-rw-r--r-- | libusb/core.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libusb/core.c b/libusb/core.c index 072d050..5309218 100644 --- a/libusb/core.c +++ b/libusb/core.c @@ -550,10 +550,8 @@ int usbi_sanitize_device(struct libusb_device *dev) if (num_configurations > USB_MAXCONFIG) { usbi_err(DEVICE_CTX(dev), "too many configurations"); return LIBUSB_ERROR_IO; - } else if (num_configurations < 1) { - usbi_dbg("no configurations?"); - return LIBUSB_ERROR_IO; - } + } else if (0 == num_configurations) + usbi_dbg("zero configurations, maybe an unauthorized device"); dev->num_configurations = num_configurations; return 0; |