iommu/tegra: fix device leak on probe_device()
Make sure to drop the reference taken to the iommu platform device when looking up its driver data during probe_device(). Note that commitpull/1354/merge9826e393e4("iommu/tegra-smmu: Fix missing put_device() call in tegra_smmu_find") fixed the leak in an error path, but the reference is still leaking on success. Fixes:8918465163("memory: Add NVIDIA Tegra memory controller support") Cc: stable@vger.kernel.org # 3.19:9826e393e4Cc: Miaoqian Lin <linmq006@gmail.com> Acked-by: Robin Murphy <robin.murphy@arm.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Johan Hovold <johan@kernel.org> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
parent
f916109bf5
commit
c08934a612
|
|
@ -830,10 +830,9 @@ static struct tegra_smmu *tegra_smmu_find(struct device_node *np)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
mc = platform_get_drvdata(pdev);
|
mc = platform_get_drvdata(pdev);
|
||||||
if (!mc) {
|
|
||||||
put_device(&pdev->dev);
|
put_device(&pdev->dev);
|
||||||
|
if (!mc)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
|
||||||
|
|
||||||
return mc->smmu;
|
return mc->smmu;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue