drm/ast: Fail if connector initialization fails
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 7 Feb 2022 14:15:36 +0000 (15:15 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 8 Feb 2022 12:37:52 +0000 (13:37 +0100)
Update the connector code to fail if the connector could not be
initialized. The current code just ignored the error and failed
later when the connector was supposed to be used.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220207141544.30015-2-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_mode.c

index ab52efb15670e1f4564adabe328b019f32950041..51cc6fef1b9270a9d99a22a55f2d128736c2c500 100644 (file)
@@ -1322,18 +1322,21 @@ static int ast_connector_init(struct drm_device *dev)
        struct ast_connector *ast_connector = &ast->connector;
        struct drm_connector *connector = &ast_connector->base;
        struct drm_encoder *encoder = &ast->encoder;
+       int ret;
 
        ast_connector->i2c = ast_i2c_create(dev);
        if (!ast_connector->i2c)
                drm_err(dev, "failed to add ddc bus for connector\n");
 
        if (ast_connector->i2c)
-               drm_connector_init_with_ddc(dev, connector, &ast_connector_funcs,
-                                           DRM_MODE_CONNECTOR_VGA,
-                                           &ast_connector->i2c->adapter);
+               ret = drm_connector_init_with_ddc(dev, connector, &ast_connector_funcs,
+                                                 DRM_MODE_CONNECTOR_VGA,
+                                                 &ast_connector->i2c->adapter);
        else
-               drm_connector_init(dev, connector, &ast_connector_funcs,
-                                  DRM_MODE_CONNECTOR_VGA);
+               ret = drm_connector_init(dev, connector, &ast_connector_funcs,
+                                        DRM_MODE_CONNECTOR_VGA);
+       if (ret)
+               return ret;
 
        drm_connector_helper_add(connector, &ast_connector_helper_funcs);