diff options
Diffstat (limited to 'drivers/usb/input')
| -rw-r--r-- | drivers/usb/input/hiddev.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/usb/input/hiddev.c b/drivers/usb/input/hiddev.c index 271ee088571e..88f0d76c8c7a 100644 --- a/drivers/usb/input/hiddev.c +++ b/drivers/usb/input/hiddev.c @@ -606,6 +606,7 @@ int hiddev_connect(struct hid_device *hid) { struct hiddev *hiddev; int minor, i; + int retval; char devfs_name[16]; for (i = 0; i < hid->maxapplication; i++) @@ -615,7 +616,12 @@ int hiddev_connect(struct hid_device *hid) if (i == hid->maxapplication) return -1; - if (usb_register_dev (&hiddev_driver, 1, &minor)) { + retval = usb_register_dev (&hiddev_driver, 1, &minor); + if (retval) { + if (retval != -ENODEV) { + err ("Not able to get a minor for this device."); + return -1; + } for (minor = 0; minor < HIDDEV_MINORS && hiddev_table[minor]; minor++); if (minor == HIDDEV_MINORS) { printk(KERN_ERR "hiddev: no more free hiddev devices\n"); |
