staging: unisys: visorbus: don't unregister if we failed to register

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>
This commit is contained in:
David Kershner 2017-03-28 09:34:52 -04:00 committed by Greg Kroah-Hartman
parent 711c67f4ec
commit 293deb2c0c

View 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);