diff options
author | Yang Yingliang <yangyingliang@huawei.com> | 2023-01-04 10:57:02 +0100 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2023-01-20 13:46:19 +0100 |
commit | 53719876e064643a6e58b5e6067a149a0fd191ec (patch) | |
tree | 12a1d20b36e38b23d6ac3740dca072205cfbb637 /drivers/iommu | |
parent | Linux 6.2-rc3 (diff) | |
download | linux-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.c | 2 |
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; |