drm/amd/dp_mst: Expose a connector to kernel users after it's properly initialized
authorImre Deak <imre.deak@intel.com>
Wed, 11 Dec 2024 23:03:23 +0000 (01:03 +0200)
committerImre Deak <imre.deak@intel.com>
Tue, 17 Dec 2024 14:03:46 +0000 (16:03 +0200)
After a connector is added to the drm_mode_config::connector_list, it's
visible to any in-kernel users looking up connectors via the above list.
Make sure that the connector is properly initialized before such
look-ups, by initializing the connector with
drm_connector_dynamic_init() - which doesn't add the connector to the
list - and registering it with drm_connector_dynamic_register() - which
adds the connector to the list - after the initialization is complete.

v2: Fix s/drm_connector_dynamic_register()/drm_connector_dynamic_init()
    typo in the commit log.

Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Leo Li <sunpeng.li@amd.com>
Cc: Wayne Lin <wayne.lin@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Lyude Paul <lyude@redhat.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Wayne Lin <Wayne.Lin@amd.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241211230328.4012496-7-imre.deak@intel.com
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c

index 6e43594906130c1cbea3e510e87d2013903b1bb5..d398bc74e6677a25c92d2b23f59198081f84b49b 100644 (file)
@@ -590,11 +590,12 @@ dm_dp_add_mst_connector(struct drm_dp_mst_topology_mgr *mgr,
        amdgpu_dm_set_mst_status(&aconnector->mst_status,
                        MST_PROBE, true);
 
-       if (drm_connector_init(
+       if (drm_connector_dynamic_init(
                dev,
                connector,
                &dm_dp_mst_connector_funcs,
-               DRM_MODE_CONNECTOR_DisplayPort)) {
+               DRM_MODE_CONNECTOR_DisplayPort,
+               NULL)) {
                kfree(aconnector);
                return NULL;
        }