OSDN Git Service

drm/connector: Set DDC pointer in drmm_connector_init
authorMaxime Ripard <maxime@cerno.tech>
Wed, 19 Oct 2022 14:34:42 +0000 (16:34 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Thu, 20 Oct 2022 08:53:13 +0000 (10:53 +0200)
Commit 35a3b82f1bdd ("drm/connector: Introduce drmm_connector_init")
introduced the function drmm_connector_init() with a parameter for an
optional ddc pointer to the i2c controller used to access the DDC bus.

However, the underlying call to __drm_connector_init() was always
setting it to NULL instead of passing the ddc argument around.

This resulted in unexpected null pointer dereference on platforms
expecting to get a DDC controller.

Fixes: 35a3b82f1bdd ("drm/connector: Introduce drmm_connector_init")
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20221019143442.1798964-1-maxime@cerno.tech
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/gpu/drm/drm_connector.c

index e3142c8..61c29ce 100644 (file)
@@ -435,7 +435,7 @@ int drmm_connector_init(struct drm_device *dev,
        if (drm_WARN_ON(dev, funcs && funcs->destroy))
                return -EINVAL;
 
-       ret = __drm_connector_init(dev, connector, funcs, connector_type, NULL);
+       ret = __drm_connector_init(dev, connector, funcs, connector_type, ddc);
        if (ret)
                return ret;