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@xxxxxxxxxxxxxxx> --- v2: removed extra space 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel