drm/tegra: Fix reference leak in tegra_dsi_ganged_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 10 Jan 2022 06:53:16 +0000 (06:53 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Apr 2022 07:08:17 +0000 (09:08 +0200)
[ Upstream commit 221e3638feb8bc42143833c9a704fa89b6c366bb ]

The reference taken by 'of_find_device_by_node()' must be released when
not needed anymore. Add put_device() call to fix this.

Fixes: e94236cde4d5 ("drm/tegra: dsi: Add ganged mode support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/tegra/dsi.c

index 046649ec9441990869f9cb77a7cd248a2c97fd88..4e06af34c048f7297d3dcf72643b0435a5e5cde3 100644 (file)
@@ -1480,8 +1480,10 @@ static int tegra_dsi_ganged_probe(struct tegra_dsi *dsi)
                dsi->slave = platform_get_drvdata(gangster);
                of_node_put(np);
 
-               if (!dsi->slave)
+               if (!dsi->slave) {
+                       put_device(&gangster->dev);
                        return -EPROBE_DEFER;
+               }
 
                dsi->slave->master = dsi;
        }