drm/amd/display: Fix null check of pipe_ctx->plane_state for update_dchubp_dpp
authorMelissa Wen <mwen@igalia.com>
Wed, 30 Apr 2025 14:11:47 +0000 (11:11 -0300)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 13 May 2025 13:35:17 +0000 (09:35 -0400)
Similar to commit 6a057072ddd1 ("drm/amd/display: Fix null check for
pipe_ctx->plane_state in dcn20_program_pipe") that addresses a null
pointer dereference on dcn20_update_dchubp_dpp. This is the same
function hooked for update_dchubp_dpp in dcn401, with the same issue.
Fix possible null pointer deference on dcn401_program_pipe too.

Fixes: 63ab80d9ac0a ("drm/amd/display: DML2.1 Post-Si Cleanup")
Signed-off-by: Melissa Wen <mwen@igalia.com>
Reviewed-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c

index e61ed07fdc62b5661c0cdef2a2fe33b865ef2abe..4e9a89696049b016ec9a596018b6f83029388763 100644 (file)
@@ -2260,9 +2260,9 @@ void dcn401_program_pipe(
                                dc->res_pool->hubbub, pipe_ctx->plane_res.hubp->inst, pipe_ctx->hubp_regs.det_size);
        }
 
-       if (pipe_ctx->update_flags.raw ||
-               (pipe_ctx->plane_state && pipe_ctx->plane_state->update_flags.raw) ||
-               pipe_ctx->stream->update_flags.raw)
+       if (pipe_ctx->plane_state && (pipe_ctx->update_flags.raw ||
+           pipe_ctx->plane_state->update_flags.raw ||
+           pipe_ctx->stream->update_flags.raw))
                dc->hwss.update_dchubp_dpp(dc, pipe_ctx, context);
 
        if (pipe_ctx->plane_state && (pipe_ctx->update_flags.bits.enable ||