Commit ca1ecae1 authored by Josip Pavic's avatar Josip Pavic Committed by Alex Deucher

drm/amd/display: Add null pointer guards where needed

[Why]
Some functions whose output is typically checked for null are not being
checked for null at several call sites, causing some static analysis
tools to throw an error.

[How]
Add null pointer guards around functions that typically have them at
other call sites.
Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
Reviewed-by: default avatarSung Lee <sung.lee@amd.com>
Reviewed-by: default avatarAric Cyr <aric.cyr@amd.com>
Acked-by: default avatarRodrigo Siqueira <rodrigo.siqueira@amd.com>
Signed-off-by: default avatarJosip Pavic <josip.pavic@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 394e850f
...@@ -3379,6 +3379,9 @@ static void commit_planes_for_stream_fast(struct dc *dc, ...@@ -3379,6 +3379,9 @@ static void commit_planes_for_stream_fast(struct dc *dc,
&context->res_ctx, &context->res_ctx,
stream); stream);
if (!top_pipe_to_program)
return;
for (i = 0; i < dc->res_pool->pipe_count; i++) { for (i = 0; i < dc->res_pool->pipe_count; i++) {
struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i]; struct pipe_ctx *pipe = &context->res_ctx.pipe_ctx[i];
...@@ -3978,6 +3981,8 @@ static struct dc_state *create_minimal_transition_state(struct dc *dc, ...@@ -3978,6 +3981,8 @@ static struct dc_state *create_minimal_transition_state(struct dc *dc,
dc->debug.force_disable_subvp = true; dc->debug.force_disable_subvp = true;
minimal_transition_context = dc_state_create_copy(base_context); minimal_transition_context = dc_state_create_copy(base_context);
if (!minimal_transition_context)
return NULL;
/* commit minimal state */ /* commit minimal state */
if (dc->res_pool->funcs->validate_bandwidth(dc, minimal_transition_context, false)) { if (dc->res_pool->funcs->validate_bandwidth(dc, minimal_transition_context, false)) {
......
...@@ -2460,6 +2460,9 @@ void resource_remove_otg_master_for_stream_output(struct dc_state *context, ...@@ -2460,6 +2460,9 @@ void resource_remove_otg_master_for_stream_output(struct dc_state *context,
struct pipe_ctx *otg_master = resource_get_otg_master_for_stream( struct pipe_ctx *otg_master = resource_get_otg_master_for_stream(
&context->res_ctx, stream); &context->res_ctx, stream);
if (!otg_master)
return;
ASSERT(resource_get_odm_slice_count(otg_master) == 1); ASSERT(resource_get_odm_slice_count(otg_master) == 1);
ASSERT(otg_master->plane_state == NULL); ASSERT(otg_master->plane_state == NULL);
ASSERT(otg_master->stream_res.stream_enc); ASSERT(otg_master->stream_res.stream_enc);
......
...@@ -447,7 +447,8 @@ bool dc_stream_add_writeback(struct dc *dc, ...@@ -447,7 +447,8 @@ bool dc_stream_add_writeback(struct dc *dc,
if (dc->hwss.enable_writeback) { if (dc->hwss.enable_writeback) {
struct dc_stream_status *stream_status = dc_stream_get_status(stream); struct dc_stream_status *stream_status = dc_stream_get_status(stream);
struct dwbc *dwb = dc->res_pool->dwbc[wb_info->dwb_pipe_inst]; struct dwbc *dwb = dc->res_pool->dwbc[wb_info->dwb_pipe_inst];
dwb->otg_inst = stream_status->primary_otg_inst; if (stream_status)
dwb->otg_inst = stream_status->primary_otg_inst;
} }
if (!dc->hwss.update_bandwidth(dc, dc->current_state)) { if (!dc->hwss.update_bandwidth(dc, dc->current_state)) {
......
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