[PATCH v5 1/7] drm/ingenic: Fix drm_init error path if IPU was registered
From: H. Nikolaus Schaller
Date: Tue Oct 05 2021 - 08:29:51 EST
From: Paul Boddie <paul@xxxxxxxxxxxxx>
If ingenic drm driver can not be registered, the IPU driver won't be
deregistered.
Code structure is chosen in preparation to add hdmi unregistration
in error case following the same pattern by a later patch.
Signed-off-by: Paul Boddie <paul@xxxxxxxxxxxxx>
Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
---
drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
index 35b61657d9f6..f73522bdacaa 100644
--- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
+++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
@@ -1498,7 +1498,16 @@ static int ingenic_drm_init(void)
return err;
}
- return platform_driver_register(&ingenic_drm_driver);
+ err = platform_driver_register(&ingenic_drm_driver);
+ if (err)
+ goto err_ipu_unreg;
+
+ return 0;
+
+err_ipu_unreg:
+ if (IS_ENABLED(CONFIG_DRM_INGENIC_IPU))
+ platform_driver_unregister(ingenic_ipu_driver_ptr);
+ return err;
}
module_init(ingenic_drm_init);
--
2.33.0