summaryrefslogtreecommitdiff
path: root/drivers/amba
diff options
context:
space:
mode:
authorJohan Hovold <johan@kernel.org>2025-09-25 17:00:07 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-01-02 12:57:28 +0100
commit1d18fb5c71f63c761e426ce8e73e750c6a891ac8 (patch)
treee146a47ba31d402b09c54e26540b43710e67d3f3 /drivers/amba
parent70cf3d6fe71a6b72548a3f4b7ca25933dd3196f0 (diff)
downloadlinux-1d18fb5c71f63c761e426ce8e73e750c6a891ac8.tar.gz
linux-1d18fb5c71f63c761e426ce8e73e750c6a891ac8.tar.bz2
linux-1d18fb5c71f63c761e426ce8e73e750c6a891ac8.zip
amba: tegra-ahb: Fix device leak on SMMU enable
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>
Diffstat (limited to 'drivers/amba')
-rw-r--r--drivers/amba/tegra-ahb.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/amba/tegra-ahb.c b/drivers/amba/tegra-ahb.c
index c0e8b765522d..f23c3ed01810 100644
--- a/drivers/amba/tegra-ahb.c
+++ b/drivers/amba/tegra-ahb.c
@@ -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);