drm/bridge_connector: Handle drm_connector_init_with_ddc() failures
drm_connector_init_with_ddc() can fail, but the call in drm_bridge_connector_init() does not check that. Fix this by adding the missing error handling. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/3a7e9540d8dc94298d021aa2fb046ae8616ca4dd.1689599701.git.geert+renesas@glider.be
This commit is contained in:
parent
cc4adf3a73
commit
d0b4c1cf33
@ -318,6 +318,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
|
||||
struct i2c_adapter *ddc = NULL;
|
||||
struct drm_bridge *bridge, *panel_bridge = NULL;
|
||||
int connector_type;
|
||||
int ret;
|
||||
|
||||
bridge_connector = kzalloc(sizeof(*bridge_connector), GFP_KERNEL);
|
||||
if (!bridge_connector)
|
||||
@ -368,8 +369,14 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
|
||||
drm_connector_init_with_ddc(drm, connector, &drm_bridge_connector_funcs,
|
||||
connector_type, ddc);
|
||||
ret = drm_connector_init_with_ddc(drm, connector,
|
||||
&drm_bridge_connector_funcs,
|
||||
connector_type, ddc);
|
||||
if (ret) {
|
||||
kfree(bridge_connector);
|
||||
return ERR_PTR(ret);
|
||||
}
|
||||
|
||||
drm_connector_helper_add(connector, &drm_bridge_connector_helper_funcs);
|
||||
|
||||
if (bridge_connector->bridge_hpd)
|
||||
|
Loading…
x
Reference in New Issue
Block a user