[PATCH] amba: tegra-ahb: fix device leak on smmu enable

Johan Hovold posted 1 patch 6 days, 8 hours ago
drivers/amba/tegra-ahb.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] amba: tegra-ahb: fix device leak on smmu enable
Posted by Johan Hovold 6 days, 8 hours ago
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>
---
 drivers/amba/tegra-ahb.c | 1 +
 1 file changed, 1 insertion(+)

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);
-- 
2.49.1
Re: [PATCH] amba: tegra-ahb: fix device leak on smmu enable
Posted by Markus Elfring 5 days, 3 hours ago
> Make sure to drop the reference taken to the ahb platform device when
> looking up its driver data while enabling the smmu.
…

How do you think about to increase the application of scope-based resource management?
https://elixir.bootlin.com/linux/v6.17-rc7/source/include/linux/device.h#L1180

Regards,
Markus