]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/tegra: dsi: fix device leak on probe
authorJohan Hovold <johan@kernel.org>
Fri, 21 Nov 2025 16:42:01 +0000 (17:42 +0100)
committerThierry Reding <treding@nvidia.com>
Wed, 14 Jan 2026 14:23:17 +0000 (15:23 +0100)
Make sure to drop the reference taken when looking up the companion
(ganged) device and its driver data during probe().

Note that holding a reference to a device does not prevent its driver
data from going away so there is no point in keeping the reference.

Fixes: e94236cde4d5 ("drm/tegra: dsi: Add ganged mode support")
Fixes: 221e3638feb8 ("drm/tegra: Fix reference leak in tegra_dsi_ganged_probe")
Cc: stable@vger.kernel.org # 3.19: 221e3638feb8
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Link: https://patch.msgid.link/20251121164201.13188-1-johan@kernel.org
drivers/gpu/drm/tegra/dsi.c

index 175f5f9937b01e6cff0669ecc31bc5ba4ce2a94d..8ee96b59fdbc8bc9858c9b2b70ef6573c37b6ff4 100644 (file)
@@ -1542,11 +1542,9 @@ static int tegra_dsi_ganged_probe(struct tegra_dsi *dsi)
                        return -EPROBE_DEFER;
 
                dsi->slave = platform_get_drvdata(gangster);
-
-               if (!dsi->slave) {
-                       put_device(&gangster->dev);
+               put_device(&gangster->dev);
+               if (!dsi->slave)
                        return -EPROBE_DEFER;
-               }
 
                dsi->slave->master = dsi;
        }