platform/x86: mlx-platform: Add hotplug device unregister to error path
authorVadim Pasternak <vadimp@mellanox.com>
Wed, 31 Jan 2018 21:55:13 +0000 (21:55 +0000)
committerDarren Hart (VMware) <dvhart@infradead.org>
Wed, 31 Jan 2018 20:54:56 +0000 (12:54 -0800)
Add hotplug platform driver un-registration in case regmap cache
synchronization failed. In such case hotplug platform driver
registration should be rolled back.

Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
drivers/platform/x86/mlx-platform.c

index 752476e..dfecba4 100644 (file)
@@ -550,10 +550,12 @@ static int __init mlxplat_init(void)
        regcache_mark_dirty(mlxplat_hotplug->regmap);
        err = regcache_sync(mlxplat_hotplug->regmap);
        if (err)
-               goto fail_platform_mux_register;
+               goto fail_platform_hotplug_register;
 
        return 0;
 
+fail_platform_hotplug_register:
+       platform_device_unregister(priv->pdev_hotplug);
 fail_platform_mux_register:
        while (--i >= 0)
                platform_device_unregister(priv->pdev_mux[i]);