From: Natanel Roizenman <natanel.roizen...@amd.com>

[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: sta...@vger.kernel.org
Reviewed-by: Nicholas Kazlauskas <nicholas.kazlaus...@amd.com>
Acked-by: Aurabindo Pillai <aurabindo.pil...@amd.com>
Signed-off-by: Natanel Roizenman <natanel.roizen...@amd.com>
Tested-by: Daniel Wheeler <daniel.whee...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c 
b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
index c6c30919cdd1..77c9c3ee755d 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c
@@ -2295,6 +2295,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) {
-- 
2.44.0

Reply via email to