Add error handle while component_add fail.

Signed-off-by: Yong Wu <yong...@mediatek.com>
Reviewed-by: Ikjoon Jang <i...@chromium.org>
---
 drivers/memory/mtk-smi.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/memory/mtk-smi.c b/drivers/memory/mtk-smi.c
index 33b6c5efe102..b362d528944e 100644
--- a/drivers/memory/mtk-smi.c
+++ b/drivers/memory/mtk-smi.c
@@ -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)
-- 
2.18.0

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to