Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e41ab030 authored by Harry Wentland's avatar Harry Wentland Committed by Alex Deucher
Browse files

drm/amd/display: Fix couple more inconsistent NULL checks in dc_resource



Found by smatch:
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:1001
acquire_free_pipe_for_stream() error: we previously assumed 'head_pipe'
could be null (see line 998)
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_resource.c:1808
dc_validate_global_state() error: we previously assumed 'new_ctx' could
be null (see line 1778)

Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent edf38b58
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -993,8 +993,10 @@ static struct pipe_ctx *acquire_free_pipe_for_stream(

	head_pipe = resource_get_head_pipe_for_stream(res_ctx, stream);

	if (!head_pipe)
	if (!head_pipe) {
		ASSERT(0);
		return NULL;
	}

	if (!head_pipe->plane_state)
		return head_pipe;
@@ -1772,13 +1774,16 @@ enum dc_status dc_validate_global_state(
	enum dc_status result = DC_ERROR_UNEXPECTED;
	int i, j;

	if (!new_ctx)
		return DC_ERROR_UNEXPECTED;

	if (dc->res_pool->funcs->validate_global) {
			result = dc->res_pool->funcs->validate_global(dc, new_ctx);
			if (result != DC_OK)
				return result;
	}

	for (i = 0; new_ctx && i < new_ctx->stream_count; i++) {
	for (i = 0; i < new_ctx->stream_count; i++) {
		struct dc_stream_state *stream = new_ctx->streams[i];

		for (j = 0; j < dc->res_pool->pipe_count; j++) {