summaryrefslogtreecommitdiff
path: root/drivers/usb/image
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <greg@kroah.com>2002-05-02 01:26:48 -0700
committerGreg Kroah-Hartman <greg@kroah.com>2002-05-02 01:26:48 -0700
commit2babc05bb821e6c729e300b2e906c8a31a289df9 (patch)
tree78859c7e5922a9c5e85549dc38ad43782db8a379 /drivers/usb/image
parent526e60f87b49fa72c54f4ba658262b81cfb412db (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.c7
-rw-r--r--drivers/usb/image/scanner.c9
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;