]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/tegra: dsi: Add missing check for of_find_device_by_node
authorChen Ni <nichen@iscas.ac.cn>
Tue, 24 Oct 2023 08:07:38 +0000 (08:07 +0000)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:22:37 +0000 (18:22 -0400)
[ Upstream commit afe6fcb9775882230cd29b529203eabd5d2a638d ]

Add check for the return value of of_find_device_by_node() and return
the error if it fails in order to avoid NULL pointer dereference.

Fixes: e94236cde4d5 ("drm/tegra: dsi: Add ganged mode support")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231024080738.825553-1-nichen@iscas.ac.cn
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/tegra/dsi.c

index e2903bf7821b133dd1f38fa73497c045ac513b61..70cc960d3ff58b52cf6518628afafecb64190092 100644 (file)
@@ -1452,9 +1452,11 @@ static int tegra_dsi_ganged_probe(struct tegra_dsi *dsi)
        np = of_parse_phandle(dsi->dev->of_node, "nvidia,ganged-mode", 0);
        if (np) {
                struct platform_device *gangster = of_find_device_by_node(np);
+               of_node_put(np);
+               if (!gangster)
+                       return -EPROBE_DEFER;
 
                dsi->slave = platform_get_drvdata(gangster);
-               of_node_put(np);
 
                if (!dsi->slave) {
                        put_device(&gangster->dev);