]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jan 2026 12:09:54 +0000 (13:09 +0100)
commit 500e1368e46928f4b2259612dcabb6999afae2a6 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/amba/tegra-ahb.c

index 0b2c20fddb7c5851e373b901a1330cedf43a93bd..39eb1f41b92b4c428ea153dfa51dd4ccabe135d6 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);