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 18:35:10 +0000 (14: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>
(cherry picked from commit d8d47f739752227957d8efc0cb894761bfe1d879)

drivers/gpu/drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c

index 5489f3d431f64d97523ba194739980e3fdf1251d..3af6a3402b8949435da7706136df5380410a2439 100644 (file)
@@ -1980,9 +1980,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 ||