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 <[email protected]>
---
 drivers/platform/x86/mlx-platform.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/mlx-platform.c 
b/drivers/platform/x86/mlx-platform.c
index 2d34aa8..1811451 100644
--- a/drivers/platform/x86/mlx-platform.c
+++ b/drivers/platform/x86/mlx-platform.c
@@ -548,10 +548,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]);
-- 
2.1.4

Reply via email to