The error handling for register_chrdev is taken care by goto statement.
The failure code from register_chrdev is returned.

Signed-off-by: Salah Triki <salah.tr...@acm.org>
---
 drivers/staging/dgnc/dgnc_driver.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/dgnc/dgnc_driver.c 
b/drivers/staging/dgnc/dgnc_driver.c
index f177d3a..ee27fb2 100644
--- a/drivers/staging/dgnc/dgnc_driver.c
+++ b/drivers/staging/dgnc/dgnc_driver.c
@@ -253,7 +253,7 @@ static int dgnc_start(void)
        rc = register_chrdev(0, "dgnc", &dgnc_BoardFops);
        if (rc <= 0) {
                pr_err(DRVSTR ": Can't register dgnc driver device (%d)\n", rc);
-               return -ENXIO;
+               goto failed_register;
        }
        dgnc_Major = rc;
 
@@ -302,6 +302,7 @@ failed_device:
        class_destroy(dgnc_class);
 failed_class:
        unregister_chrdev(dgnc_Major, "dgnc");
+failed_register:
        return rc;
 }
 
-- 
1.9.1

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to