If we fail to register the visordriver, don't call unregister, just return with the error. Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> Reviewed-by: Reviewed-by: Tim Sell <timothy.sell@xxxxxxxxxx> --- 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 devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel