Commit 6cfa038b authored by Johan Hovold's avatar Johan Hovold Committed by Krzysztof Kozlowski
Browse files

memory: mtk-smi: fix device leaks on common probe



Make sure to drop the reference taken when looking up the SMI device
during common probe on late probe failure (e.g. probe deferral) and on
driver unbind.

Fixes: 47404757 ("memory: mtk-smi: Add device link for smi-sub-common")
Fixes: 038ae37c ("memory: mtk-smi: add missing put_device() call in mtk_smi_device_link_common")
Cc: stable@vger.kernel.org	# 5.16: 038ae37c
Cc: stable@vger.kernel.org	# 5.16
Cc: Yong Wu <yong.wu@mediatek.com>
Cc: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251121164624.13685-2-johan@kernel.org


Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 8f0b4cce
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -674,6 +674,7 @@ static int mtk_smi_larb_probe(struct platform_device *pdev)
err_pm_disable:
	pm_runtime_disable(dev);
	device_link_remove(dev, larb->smi_common_dev);
	put_device(larb->smi_common_dev);
	return ret;
}

@@ -917,6 +918,7 @@ static void mtk_smi_common_remove(struct platform_device *pdev)
	if (common->plat->type == MTK_SMI_GEN2_SUB_COMM)
		device_link_remove(&pdev->dev, common->smi_common_dev);
	pm_runtime_disable(&pdev->dev);
	put_device(common->smi_common_dev);
}

static int __maybe_unused mtk_smi_common_resume(struct device *dev)