iommu/exynos: Fix error handling in exynos_iommu_init()
authorYang Yingliang <yangyingliang@huawei.com>
Wed, 4 Jan 2023 09:57:02 +0000 (17:57 +0800)
committerJoerg Roedel <jroedel@suse.de>
Fri, 20 Jan 2023 12:46:19 +0000 (13:46 +0100)
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>
drivers/iommu/exynos-iommu.c

index b0cde22..c1d579c 100644 (file)
@@ -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;