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 <su...@vectorindia.org>
---
 drivers/staging/unisys/visorchipset/file.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/staging/unisys/visorchipset/file.c 
b/drivers/staging/unisys/visorchipset/file.c
index 074c285..552febc 100644
--- a/drivers/staging/unisys/visorchipset/file.c
+++ b/drivers/staging/unisys/visorchipset/file.c
@@ -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;
 }
-- 
1.8.1.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to