Message ID | 20220710230603.13526-3-semen.protsenko@linaro.org (mailing list archive) |
---|---|
State | Accepted |
Commit | fce398d2d02c0a9a2bedf7c7201b123e153e8963 |
Headers | show |
Series | iommu/exynos: Add basic support for SysMMU v7 | expand |
On 11.07.2022 01:05, Sam Protsenko wrote: > If iommu_device_register() fails in exynos_sysmmu_probe(), the previous > calls have to be cleaned up. In this case, the iommu_device_sysfs_add() > should be cleaned up, by calling its remove counterpart call. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Acked-by: Marek Szyprowski <m.szyprowski@samsung.com> > --- > Changes in v2: > - (none) This patch is new and added in v2 > > drivers/iommu/exynos-iommu.c | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c > index 8f80aaa35092..c85db9dab851 100644 > --- a/drivers/iommu/exynos-iommu.c > +++ b/drivers/iommu/exynos-iommu.c > @@ -629,7 +629,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev) > > ret = iommu_device_register(&data->iommu, &exynos_iommu_ops, dev); > if (ret) > - return ret; > + goto err_iommu_register; > > platform_set_drvdata(pdev, data); > > @@ -656,6 +656,10 @@ static int exynos_sysmmu_probe(struct platform_device *pdev) > pm_runtime_enable(dev); > > return 0; > + > +err_iommu_register: > + iommu_device_sysfs_remove(&data->iommu); > + return ret; > } > > static int __maybe_unused exynos_sysmmu_suspend(struct device *dev) Best regards
On 11/07/2022 01:05, Sam Protsenko wrote: > If iommu_device_register() fails in exynos_sysmmu_probe(), the previous > calls have to be cleaned up. In this case, the iommu_device_sysfs_add() > should be cleaned up, by calling its remove counterpart call. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Fixes: d2c302b6e8b1 ("iommu/exynos: Make use of iommu_device_register interface") Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c index 8f80aaa35092..c85db9dab851 100644 --- a/drivers/iommu/exynos-iommu.c +++ b/drivers/iommu/exynos-iommu.c @@ -629,7 +629,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev) ret = iommu_device_register(&data->iommu, &exynos_iommu_ops, dev); if (ret) - return ret; + goto err_iommu_register; platform_set_drvdata(pdev, data); @@ -656,6 +656,10 @@ static int exynos_sysmmu_probe(struct platform_device *pdev) pm_runtime_enable(dev); return 0; + +err_iommu_register: + iommu_device_sysfs_remove(&data->iommu); + return ret; } static int __maybe_unused exynos_sysmmu_suspend(struct device *dev)
If iommu_device_register() fails in exynos_sysmmu_probe(), the previous calls have to be cleaned up. In this case, the iommu_device_sysfs_add() should be cleaned up, by calling its remove counterpart call. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> --- Changes in v2: - (none) This patch is new and added in v2 drivers/iommu/exynos-iommu.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)