Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51edc483 authored by Miaoqian Lin's avatar Miaoqian Lin Committed by Greg Kroah-Hartman
Browse files

drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy



[ Upstream commit 774fe0cd838d1b1419d41ab4ea0613c80d4ecbd7 ]

The reference taken by 'of_find_device_by_node()' must be released when
not needed anymore.
Add the corresponding 'put_device()' in the error handling path.

Fixes: e00012b2 ("drm/msm/hdmi: Make HDMI core get its PHY")
Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20220107085026.23831-1-linmq006@gmail.com


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent a15ed3e9
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -97,10 +97,15 @@ static int msm_hdmi_get_phy(struct hdmi *hdmi)

	of_node_put(phy_node);

	if (!phy_pdev || !hdmi->phy) {
	if (!phy_pdev) {
		DRM_DEV_ERROR(&pdev->dev, "phy driver is not ready\n");
		return -EPROBE_DEFER;
	}
	if (!hdmi->phy) {
		DRM_DEV_ERROR(&pdev->dev, "phy driver is not ready\n");
		put_device(&phy_pdev->dev);
		return -EPROBE_DEFER;
	}

	hdmi->phy_dev = get_device(&phy_pdev->dev);