Commit 140b2ef1 authored by Dmytro Laktyushkin's avatar Dmytro Laktyushkin Committed by Alex Deucher

drm/amd/display: prevent null pointer access

Prevent null pointer access when checking odm tree.
Signed-off-by: default avatarDmytro Laktyushkin <Dmytro.Laktyushkin@amd.com>
Acked-by: default avatarAurabindo Pillai <aurabindo.pillai@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: <stable@vger.kernel.org>
parent 55bb919b
...@@ -2105,12 +2105,12 @@ static bool dcn30_internal_validate_bw( ...@@ -2105,12 +2105,12 @@ static bool dcn30_internal_validate_bw(
if (split[i]) { if (split[i]) {
if (odm) { if (odm) {
if (split[i] == 4 && old_pipe->next_odm_pipe->next_odm_pipe) if (split[i] == 4 && old_pipe->next_odm_pipe && old_pipe->next_odm_pipe->next_odm_pipe)
old_index = old_pipe->next_odm_pipe->next_odm_pipe->pipe_idx; old_index = old_pipe->next_odm_pipe->next_odm_pipe->pipe_idx;
else if (old_pipe->next_odm_pipe) else if (old_pipe->next_odm_pipe)
old_index = old_pipe->next_odm_pipe->pipe_idx; old_index = old_pipe->next_odm_pipe->pipe_idx;
} else { } else {
if (split[i] == 4 && old_pipe->bottom_pipe->bottom_pipe && if (split[i] == 4 && old_pipe->bottom_pipe && old_pipe->bottom_pipe->bottom_pipe &&
old_pipe->bottom_pipe->bottom_pipe->plane_state == old_pipe->plane_state) old_pipe->bottom_pipe->bottom_pipe->plane_state == old_pipe->plane_state)
old_index = old_pipe->bottom_pipe->bottom_pipe->pipe_idx; old_index = old_pipe->bottom_pipe->bottom_pipe->pipe_idx;
else if (old_pipe->bottom_pipe && else if (old_pipe->bottom_pipe &&
...@@ -2150,9 +2150,11 @@ static bool dcn30_internal_validate_bw( ...@@ -2150,9 +2150,11 @@ static bool dcn30_internal_validate_bw(
goto validate_fail; goto validate_fail;
newly_split[pipe_4to1->pipe_idx] = true; newly_split[pipe_4to1->pipe_idx] = true;
if (odm && old_pipe->next_odm_pipe->next_odm_pipe->next_odm_pipe) if (odm && old_pipe->next_odm_pipe && old_pipe->next_odm_pipe->next_odm_pipe
&& old_pipe->next_odm_pipe->next_odm_pipe->next_odm_pipe)
old_index = old_pipe->next_odm_pipe->next_odm_pipe->next_odm_pipe->pipe_idx; old_index = old_pipe->next_odm_pipe->next_odm_pipe->next_odm_pipe->pipe_idx;
else if (!odm && old_pipe->bottom_pipe->bottom_pipe->bottom_pipe && else if (!odm && old_pipe->bottom_pipe && old_pipe->bottom_pipe->bottom_pipe &&
old_pipe->bottom_pipe->bottom_pipe->bottom_pipe &&
old_pipe->bottom_pipe->bottom_pipe->bottom_pipe->plane_state == old_pipe->plane_state) old_pipe->bottom_pipe->bottom_pipe->bottom_pipe->plane_state == old_pipe->plane_state)
old_index = old_pipe->bottom_pipe->bottom_pipe->bottom_pipe->pipe_idx; old_index = old_pipe->bottom_pipe->bottom_pipe->bottom_pipe->pipe_idx;
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment