Commit 554f80bd authored by Markus Elfring's avatar Markus Elfring Committed by Alex Deucher
Browse files

drm/amd/display: Use common error handling code in dc_create()



Adjust a jump target so that a bit of exception handling can be better
reused at the end of this function.

Signed-off-by: default avatarMarkus Elfring <elfring@users.sourceforge.net>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 84c30d25
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -968,15 +968,11 @@ struct dc *dc_create(const struct dc_init_data *init_params)
		return NULL;

	if (init_params->dce_environment == DCE_ENV_VIRTUAL_HW) {
		if (false == dc_construct_ctx(dc, init_params)) {
			dc_destruct(dc);
			goto construct_fail;
		}
		if (!dc_construct_ctx(dc, init_params))
			goto destruct_dc;
	} else {
		if (false == dc_construct(dc, init_params)) {
			dc_destruct(dc);
			goto construct_fail;
		}
		if (!dc_construct(dc, init_params))
			goto destruct_dc;

		full_pipe_count = dc->res_pool->pipe_count;
		if (dc->res_pool->underlay_pipe_index != NO_UNDERLAY_PIPE)
@@ -1007,7 +1003,8 @@ struct dc *dc_create(const struct dc_init_data *init_params)

	return dc;

construct_fail:
destruct_dc:
	dc_destruct(dc);
	kfree(dc);
	return NULL;
}