amba: tegra-ahb: Fix device leak on SMMU enable
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: 89c788bab1 ("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>
This commit is contained in:
committed by
Thierry Reding
parent
3a86608788
commit
500e1368e4
@@ -144,6 +144,7 @@ int tegra_ahb_enable_smmu(struct device_node *dn)
|
|||||||
if (!dev)
|
if (!dev)
|
||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
ahb = dev_get_drvdata(dev);
|
ahb = dev_get_drvdata(dev);
|
||||||
|
put_device(dev);
|
||||||
val = gizmo_readl(ahb, AHB_ARBITRATION_XBAR_CTRL);
|
val = gizmo_readl(ahb, AHB_ARBITRATION_XBAR_CTRL);
|
||||||
val |= AHB_ARBITRATION_XBAR_CTRL_SMMU_INIT_DONE;
|
val |= AHB_ARBITRATION_XBAR_CTRL_SMMU_INIT_DONE;
|
||||||
gizmo_writel(ahb, val, AHB_ARBITRATION_XBAR_CTRL);
|
gizmo_writel(ahb, val, AHB_ARBITRATION_XBAR_CTRL);
|
||||||
|
|||||||
Reference in New Issue
Block a user