]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/isdn/mISDN/core.c
mISDN: get_free_devid() failure ignored
[karo-tx-linux.git] / drivers / isdn / mISDN / core.c
index 9426c9827e47307c24efa3de435651864cb7eb72..21d34be5af6a2300fa49b646515e0413eea77db0 100644 (file)
@@ -214,7 +214,7 @@ get_free_devid(void)
                if (!test_and_set_bit(i, (u_long *)&device_ids))
                        break;
        if (i > MAX_DEVICE_ID)
-               return -1;
+               return -EBUSY;
        return i;
 }
 
@@ -224,10 +224,10 @@ mISDN_register_device(struct mISDNdevice *dev,
 {
        int     err;
 
-       dev->id = get_free_devid();
-       err = -EBUSY;
-       if (dev->id < 0)
+       err = get_free_devid();
+       if (err < 0)
                goto error1;
+       dev->id = err;
 
        device_initialize(&dev->dev);
        if (name && name[0])