memory: mtk-smi: Add error handle for smi_probe
authorYong Wu <yong.wu@mediatek.com>
Tue, 14 Sep 2021 11:36:56 +0000 (19:36 +0800)
committerKrzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Wed, 22 Sep 2021 06:42:57 +0000 (08:42 +0200)
Add error handle while component_add fail.

Signed-off-by: Yong Wu <yong.wu@mediatek.com>
Reviewed-by: Ikjoon Jang <ikjn@chromium.org>
Link: https://lore.kernel.org/r/20210914113703.31466-7-yong.wu@mediatek.com
Fixes: 6ce2c05b2118 ("memory: mtk-smi: Add device-link between smi-larb and smi-common")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
drivers/memory/mtk-smi.c

index 33b6c5efe102a4695d179848eb31d43ae83a6958..b362d528944e3e5e0cfbe325a303a27fee272cd6 100644 (file)
@@ -338,7 +338,15 @@ static int mtk_smi_larb_probe(struct platform_device *pdev)
 
        pm_runtime_enable(dev);
        platform_set_drvdata(pdev, larb);
-       return component_add(dev, &mtk_smi_larb_component_ops);
+       ret = component_add(dev, &mtk_smi_larb_component_ops);
+       if (ret)
+               goto err_pm_disable;
+       return 0;
+
+err_pm_disable:
+       pm_runtime_disable(dev);
+       device_link_remove(dev, larb->smi_common_dev);
+       return ret;
 }
 
 static int mtk_smi_larb_remove(struct platform_device *pdev)