visorchipset_file_cleanup() is called from visorchipset_exit() which
is the module_exit function and this function is executing means
module_init succeeded, so registered will always be true at this time.
and majordev has also been initialized in the init function. hence
these comparisons will always be true.

Signed-off-by: Sudip Mukherjee <su...@vectorindia.org>
---

v4: messed up the subject in v3
v3: broke the previous patch in this series

 drivers/staging/unisys/visorchipset/file.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/unisys/visorchipset/file.c 
b/drivers/staging/unisys/visorchipset/file.c
index 9ca7f1e..cbed1ba2 100644
--- a/drivers/staging/unisys/visorchipset/file.c
+++ b/drivers/staging/unisys/visorchipset/file.c
@@ -81,13 +81,9 @@ visorchipset_file_cleanup(void)
        if (file_cdev.ops != NULL)
                cdev_del(&file_cdev);
        file_cdev.ops = NULL;
-       if (registered) {
-               if (MAJOR(majordev) >= 0) {
-                       unregister_chrdev_region(majordev, 1);
-                       majordev = MKDEV(0, 0);
-               }
-               registered = FALSE;
-       }
+       unregister_chrdev_region(majordev, 1);
+       majordev = MKDEV(0, 0);
+       registered = FALSE;
 }
 
 static int
-- 
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