| From 500e1368e46928f4b2259612dcabb6999afae2a6 Mon Sep 17 00:00:00 2001 |
| From: Johan Hovold <johan@kernel.org> |
| Date: Thu, 25 Sep 2025 17:00:07 +0200 |
| Subject: amba: tegra-ahb: Fix device leak on SMMU enable |
| |
| From: Johan Hovold <johan@kernel.org> |
| |
| 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 | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/amba/tegra-ahb.c |
| +++ b/drivers/amba/tegra-ahb.c |
| @@ -144,6 +144,7 @@ int tegra_ahb_enable_smmu(struct device_ |
| 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); |