]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Add null check in resource_log_pipe_topology_update
authorNatanel Roizenman <natanel.roizenman@amd.com>
Wed, 3 Apr 2024 20:52:48 +0000 (16:52 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 14 Aug 2024 13:34:37 +0000 (15:34 +0200)
commit 899d92fd26fe780aad711322aa671f68058207a6 upstream.

[WHY]
When switching from "Extend" to "Second Display Only" we sometimes
call resource_get_otg_master_for_stream on a stream for the eDP,
which is disconnected. This leads to a null pointer dereference.

[HOW]
Added a null check in dc_resource.c/resource_log_pipe_topology_update.

CC: stable@vger.kernel.org
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: Natanel Roizenman <natanel.roizenman@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/amd/display/dc/core/dc_resource.c

index a51e5de6554ee0000a721ed08962b73a7fbd9722..8ed599324693eb1007027a0c961e5574136e84d2 100644 (file)
@@ -2267,6 +2267,10 @@ void resource_log_pipe_topology_update(struct dc *dc, struct dc_state *state)
 
                otg_master = resource_get_otg_master_for_stream(
                                &state->res_ctx, state->streams[stream_idx]);
+
+               if (!otg_master)
+                       continue;
+
                resource_log_pipe_for_stream(dc, state, otg_master, stream_idx);
        }
        if (state->phantom_stream_count > 0) {