Make sure to drop the references to the sibling platform devices and
their child drm devices taken by of_find_device_by_node() and
device_find_child() when initialising the driver data during bind().

Fixes: 1ef7ed48356c ("drm/mediatek: Modify mediatek-drm for mt8195 multi mmsys 
support")
Cc: sta...@vger.kernel.org      # 6.4
Cc: Nancy.Lin <nancy....@mediatek.com>
Signed-off-by: Johan Hovold <jo...@kernel.org>
---
 drivers/gpu/drm/mediatek/mtk_drm_drv.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c 
b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index 7c0c12dde488..33b83576af7e 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -395,10 +395,12 @@ static bool mtk_drm_get_all_drm_priv(struct device *dev)
                        continue;
 
                drm_dev = device_find_child(&pdev->dev, NULL, mtk_drm_match);
+               put_device(&pdev->dev);
                if (!drm_dev)
                        continue;
 
                temp_drm_priv = dev_get_drvdata(drm_dev);
+               put_device(drm_dev);
                if (!temp_drm_priv)
                        continue;
 
-- 
2.49.1

Reply via email to