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)
committerThierry Reding <treding@nvidia.com>
Thu, 14 Dec 2023 17:20:23 +0000 (18:20 +0100)
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
drivers/gpu/drm/tegra/dsi.c

index fbfe92a..e419b76 100644 (file)
@@ -1544,9 +1544,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);