staging: unisys: use error codes
authorSudip Mukherjee <sudipm.mukherjee@gmail.com>
Fri, 27 Mar 2015 09:56:10 +0000 (15:26 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 3 Apr 2015 11:43:45 +0000 (13:43 +0200)
we were just returning -1 to the calling function which was again
returning that if the module failed to load. Now we are returning the
actual error codes.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorchipset/file.c

index 5c5d35f..8bea8a9 100644 (file)
@@ -56,18 +56,20 @@ visorchipset_file_init(dev_t major_dev, struct visorchannel **controlvm_channel)
        cdev_init(&file_cdev, &visorchipset_fops);
        file_cdev.owner = THIS_MODULE;
        if (MAJOR(major_dev) == 0) {
+               rc = alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME);
                /* dynamic major device number registration required */
-               if (alloc_chrdev_region(&major_dev, 0, 1, MYDRVNAME) < 0)
-                       return -1;
+               if (rc < 0)
+                       return rc;
        } else {
                /* static major device number registration required */
-               if (register_chrdev_region(major_dev, 1, MYDRVNAME) < 0)
-                       return -1;
+               rc = register_chrdev_region(major_dev, 1, MYDRVNAME);
+               if (rc < 0)
+                       return rc;
        }
        rc = cdev_add(&file_cdev, MKDEV(MAJOR(major_dev), 0), 1);
        if (rc < 0) {
                unregister_chrdev_region(major_dev, 1);
-               return -1;
+               return rc;
        }
        return 0;
 }