If we fail to register the visordriver, don't call unregister, just
return with the error.

Signed-off-by: David Kershner <david.kersh...@unisys.com>
Reviewed-by: Reviewed-by: Tim Sell <timothy.s...@unisys.com>
---
 drivers/staging/unisys/visorbus/visorbus_main.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c 
b/drivers/staging/unisys/visorbus/visorbus_main.c
index af9bf24..0aa731d 100644
--- a/drivers/staging/unisys/visorbus/visorbus_main.c
+++ b/drivers/staging/unisys/visorbus/visorbus_main.c
@@ -959,8 +959,6 @@ visordriver_probe_device(struct device *xdev)
  */
 int visorbus_register_visor_driver(struct visor_driver *drv)
 {
-       int rc = 0;
-
        drv->driver.name = drv->name;
        drv->driver.bus = &visorbus_type;
        drv->driver.probe = visordriver_probe_device;
@@ -980,10 +978,7 @@ int visorbus_register_visor_driver(struct visor_driver 
*drv)
         *                 dev.drv = NULL
         */
 
-       rc = driver_register(&drv->driver);
-       if (rc < 0)
-               driver_unregister(&drv->driver);
-       return rc;
+       return driver_register(&drv->driver);
 }
 EXPORT_SYMBOL_GPL(visorbus_register_visor_driver);
 
-- 
git-series 0.9.1
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to