diff options
| author | Greg Kroah-Hartman <greg@kroah.com> | 2002-05-02 01:26:48 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <greg@kroah.com> | 2002-05-02 01:26:48 -0700 |
| commit | 2babc05bb821e6c729e300b2e906c8a31a289df9 (patch) | |
| tree | 78859c7e5922a9c5e85549dc38ad43782db8a379 /drivers/usb/image | |
| parent | 526e60f87b49fa72c54f4ba658262b81cfb412db (diff) | |
USB
cleaned up checking the return value of usb_register_dev()
Diffstat (limited to 'drivers/usb/image')
| -rw-r--r-- | drivers/usb/image/mdc800.c | 7 | ||||
| -rw-r--r-- | drivers/usb/image/scanner.c | 9 |
2 files changed, 14 insertions, 2 deletions
diff --git a/drivers/usb/image/mdc800.c b/drivers/usb/image/mdc800.c index c211b9980c80..a4cccb7e4df7 100644 --- a/drivers/usb/image/mdc800.c +++ b/drivers/usb/image/mdc800.c @@ -411,6 +411,7 @@ static void* mdc800_usb_probe (struct usb_device *dev ,unsigned int ifnum, int i,j; struct usb_interface_descriptor *intf_desc; int irq_interval=0; + int retval; dbg ("(mdc800_usb_probe) called."); @@ -475,7 +476,11 @@ static void* mdc800_usb_probe (struct usb_device *dev ,unsigned int ifnum, down (&mdc800->io_lock); - usb_register_dev (&mdc800_usb_driver, 1, &mdc800->minor); + retval = usb_register_dev (&mdc800_usb_driver, 1, &mdc800->minor); + if (retval && (retval != -ENODEV)) { + err ("Not able to get a minor for this device."); + return 0; + } mdc800->dev=dev; mdc800->open=0; diff --git a/drivers/usb/image/scanner.c b/drivers/usb/image/scanner.c index d26c0d17635e..8c1ac19386d4 100644 --- a/drivers/usb/image/scanner.c +++ b/drivers/usb/image/scanner.c @@ -812,6 +812,7 @@ probe_scanner(struct usb_device *dev, unsigned int ifnum, int ep_cnt; int ix; int scn_minor; + int retval; char valid_device = 0; char have_bulk_in, have_bulk_out, have_intr; @@ -953,7 +954,13 @@ probe_scanner(struct usb_device *dev, unsigned int ifnum, down(&scn_mutex); - if (usb_register_dev(&scanner_driver, 1, &scn_minor)) { + retval = usb_register_dev(&scanner_driver, 1, &scn_minor); + if (retval) { + if (retval != -ENODEV) { + err ("Not able to get a minor for this device."); + up(&scn_mutex); + return NULL; + } for (scn_minor = 0; scn_minor < SCN_MAX_MNR; scn_minor++) { if (!p_scn_table[scn_minor]) break; |
