Message ID | 20220602103401.2980938-1-jiasheng@iscas.ac.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm: bridge: adv7511: Add check for mipi_dsi_driver_register | expand |
Hi Jiasheng, Thank you for the patch. On Thu, Jun 02, 2022 at 06:34:01PM +0800, Jiasheng Jiang wrote: > As mipi_dsi_driver_register could return error if fails, > it should be better to check the return value and return error > if fails. > Moreover, if i2c_add_driver fails, mipi_dsi_driver_register > should be reverted. > > Fixes: 1e4d58cd7f88 ("drm/bridge: adv7533: Create a MIPI DSI device") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > Changelog: > > v1 -> v2 > > *Change 1. Add the mipi_dsi_driver_unregister if i2c_add_driver fails. > --- > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > index 5bb9300040dd..2275d15d4a8b 100644 > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c > @@ -1392,10 +1392,21 @@ static struct i2c_driver adv7511_driver = { > > static int __init adv7511_init(void) > { > - if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) > - mipi_dsi_driver_register(&adv7533_dsi_driver); > + int ret; > + > + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) { > + ret = mipi_dsi_driver_register(&adv7533_dsi_driver); > + if (ret) > + return ret; > + } > > - return i2c_add_driver(&adv7511_driver); > + ret = i2c_add_driver(&adv7511_driver); > + if (ret) { > + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) > + mipi_dsi_driver_unregister(&adv7533_dsi_driver); > + } > + > + return ret; > } > module_init(adv7511_init); >
On Thu, Jun 02, 2022 at 06:34:01PM +0800, Jiasheng Jiang wrote: > As mipi_dsi_driver_register could return error if fails, > it should be better to check the return value and return error > if fails. > Moreover, if i2c_add_driver fails, mipi_dsi_driver_register > should be reverted. > > Fixes: 1e4d58cd7f88 ("drm/bridge: adv7533: Create a MIPI DSI device") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Thanks, added to drm-misc (added to drm-misc-next as this did not look like something that required fast forward to mainline). Sam
diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c index 5bb9300040dd..2275d15d4a8b 100644 --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -1392,10 +1392,21 @@ static struct i2c_driver adv7511_driver = { static int __init adv7511_init(void) { - if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) - mipi_dsi_driver_register(&adv7533_dsi_driver); + int ret; + + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) { + ret = mipi_dsi_driver_register(&adv7533_dsi_driver); + if (ret) + return ret; + } - return i2c_add_driver(&adv7511_driver); + ret = i2c_add_driver(&adv7511_driver); + if (ret) { + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) + mipi_dsi_driver_unregister(&adv7533_dsi_driver); + } + + return ret; } module_init(adv7511_init);
As mipi_dsi_driver_register could return error if fails, it should be better to check the return value and return error if fails. Moreover, if i2c_add_driver fails, mipi_dsi_driver_register should be reverted. Fixes: 1e4d58cd7f88 ("drm/bridge: adv7533: Create a MIPI DSI device") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- Changelog: v1 -> v2 *Change 1. Add the mipi_dsi_driver_unregister if i2c_add_driver fails. --- drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)