OSDN Git Service

drm/amdgpu/dm: Fix NULL pointer crash during DP MST hotplug
authorShashank Sharma <shashank.sharma@amd.com>
Thu, 15 Apr 2021 17:48:12 +0000 (23:18 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 15 Apr 2021 20:32:45 +0000 (16:32 -0400)
This patch checks the return value of the function
dc_link_add_remote_sink before using it. This was causing
a crash during consecutive hotplugs of DP MST displays.

Cc: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Shashank Sharma <shashank.sharma@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c

index 73cdb9f..60bff53 100644 (file)
@@ -229,6 +229,11 @@ static int dm_dp_mst_get_modes(struct drm_connector *connector)
                        (aconnector->edid->extensions + 1) * EDID_LENGTH,
                        &init_params);
 
+               if (!dc_sink) {
+                       DRM_ERROR("Unable to add a remote sink\n");
+                       return 0;
+               }
+
                dc_sink->priv = aconnector;
                /* dc_link_add_remote_sink returns a new reference */
                aconnector->dc_sink = dc_sink;