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;
|
||||
|
||||
mc = platform_get_drvdata(pdev);
|
||||
if (!mc) {
|
||||
put_device(&pdev->dev);
|
||||
if (!mc)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return mc->smmu;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue