]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
amba: tegra-ahb: Fix device leak on SMMU enable
authorJohan Hovold <johan@kernel.org>
Thu, 25 Sep 2025 15:00:07 +0000 (17:00 +0200)
committerThierry Reding <treding@nvidia.com>
Fri, 14 Nov 2025 16:49:12 +0000 (17:49 +0100)
Make sure to drop the reference taken to the AHB platform device when
looking up its driver data while enabling the SMMU.

Note that holding a reference to a device does not prevent its driver
data from going away.

Fixes: 89c788bab1f0 ("ARM: tegra: Add SMMU enabler in AHB")
Cc: stable@vger.kernel.org # 3.5
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/amba/tegra-ahb.c

index c0e8b765522dc79be3756acf62788812ca6ea7a5..f23c3ed018101c0c29243b8abdd83659a39d3b43 100644 (file)
@@ -144,6 +144,7 @@ int tegra_ahb_enable_smmu(struct device_node *dn)
        if (!dev)
                return -EPROBE_DEFER;
        ahb = dev_get_drvdata(dev);
+       put_device(dev);
        val = gizmo_readl(ahb, AHB_ARBITRATION_XBAR_CTRL);
        val |= AHB_ARBITRATION_XBAR_CTRL_SMMU_INIT_DONE;
        gizmo_writel(ahb, val, AHB_ARBITRATION_XBAR_CTRL);