staging: unisys: visorbus: don't unregister if we failed to register
authorDavid Kershner <david.kershner@unisys.com>
Tue, 28 Mar 2017 13:34:52 +0000 (09:34 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Mar 2017 07:17:03 +0000 (09:17 +0200)
If we fail to register the visordriver, don't call unregister, just
return with the error.

Signed-off-by: David Kershner <david.kershner@unisys.com>
Reviewed-by: Reviewed-by: Tim Sell <timothy.sell@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorbus/visorbus_main.c

index af9bf2453b44d13e7a8f318f347cb8f0b8018504..0aa731d09c1fb02bb7d1e00bf8c4a04bde52288e 100644 (file)
@@ -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);