summaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorYang Yingliang <yangyingliang@huawei.com>2023-01-04 10:57:02 +0100
committerJoerg Roedel <jroedel@suse.de>2023-01-20 13:46:19 +0100
commit53719876e064643a6e58b5e6067a149a0fd191ec (patch)
tree12a1d20b36e38b23d6ac3740dca072205cfbb637 /drivers/iommu
parentLinux 6.2-rc3 (diff)
downloadlinux-53719876e064643a6e58b5e6067a149a0fd191ec.tar.xz
linux-53719876e064643a6e58b5e6067a149a0fd191ec.zip
iommu/exynos: Fix error handling in exynos_iommu_init()
If platform_driver_register() fails, it don't need unregister and call kmem_cache_free() to free the memory allocated before calling register. Fixes: bbc4d205d93f ("iommu/exynos: Fix driver initialization sequence") Signed-off-by: Yang Yingliang <yangyingliang@huawei.com> Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org> Link: https://lore.kernel.org/r/20230104095702.2591122-1-yangyingliang@huawei.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/exynos-iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index b0cde2211987..c1d579c24740 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -1446,7 +1446,7 @@ static int __init exynos_iommu_init(void)
return 0;
err_reg_driver:
- platform_driver_unregister(&exynos_sysmmu_driver);
+ kmem_cache_free(lv2table_kmem_cache, zero_lv2_table);
err_zero_lv2:
kmem_cache_destroy(lv2table_kmem_cache);
return ret;