On Wed, Jun 01, 2022 at 04:45:01PM +0800, Jiasheng Jiang wrote:
> On Wed, Jun 01, 2022 at 02:52:00PM +0800, Laurent Pinchart wrote:
> >>  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);
> > 
> > While at it, should this then call mipi_dsi_driver_unregister() on
> > failure ?
> 
> Well, as far as I am concerned, the adv7511_exit() in the same file has 
> already dealt with the issue.
> Therefore, it might not be necessary to add another 
> mipi_dsi_driver_unregister().

The issue is that adv7511_exit() is not called if adv7511_init() fails.

-- 
Regards,

Laurent Pinchart

Reply via email to