diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0855-drm-amd-dal-fix-memory-during-fail-link-creation.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0855-drm-amd-dal-fix-memory-during-fail-link-creation.patch | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/common/recipes-kernel/linux/files/0855-drm-amd-dal-fix-memory-during-fail-link-creation.patch b/common/recipes-kernel/linux/files/0855-drm-amd-dal-fix-memory-during-fail-link-creation.patch deleted file mode 100644 index 8e75566a..00000000 --- a/common/recipes-kernel/linux/files/0855-drm-amd-dal-fix-memory-during-fail-link-creation.patch +++ /dev/null @@ -1,89 +0,0 @@ -From cfb494199e72b18539e80a266470b40110221eb4 Mon Sep 17 00:00:00 2001 -From: Mykola Lysenko <Mykola.Lysenko@amd.com> -Date: Fri, 26 Feb 2016 04:06:56 -0500 -Subject: [PATCH 0855/1110] drm/amd/dal: fix memory during fail link creation - -In case device tag is incorrect, already allocated -resources should be cleaned-up - -Signed-off-by: Mykola Lysenko <Mykola.Lysenko@amd.com> -Acked-by: Harry Wentland <harry.wentland@amd.com> ---- - drivers/gpu/drm/amd/dal/dc/core/dc_link.c | 28 ++++++++++++++++++++-------- - 1 file changed, 20 insertions(+), 8 deletions(-) - -diff --git a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c -index e259509..9bfa35b 100644 ---- a/drivers/gpu/drm/amd/dal/dc/core/dc_link.c -+++ b/drivers/gpu/drm/amd/dal/dc/core/dc_link.c -@@ -954,6 +954,8 @@ static bool construct( - if (hpd_gpio != NULL) { - dal_adapter_service_release_irq( - as, hpd_gpio); -+ -+ hpd_gpio = NULL; - } - - /* TODO: #DAL3 Implement id to str function.*/ -@@ -968,15 +970,15 @@ static bool construct( - ddc_service_init_data.link = link; - link->ddc = dal_ddc_service_create(&ddc_service_init_data); - -- link->public.ddc_hw_inst = -- dal_ddc_get_line( -- dal_ddc_service_get_ddc_pin(link->ddc)); -- - if (NULL == link->ddc) { - DC_ERROR("Failed to create ddc_service!\n"); -- goto create_fail; -+ goto ddc_create_fail; - } - -+ link->public.ddc_hw_inst = -+ dal_ddc_get_line( -+ dal_ddc_service_get_ddc_pin(link->ddc)); -+ - enc_init_data.adapter_service = as; - enc_init_data.ctx = dc_ctx; - enc_init_data.encoder = dal_adapter_service_get_src_obj( -@@ -991,7 +993,7 @@ static bool construct( - - if( link->link_enc == NULL) { - DC_ERROR("Failed to create link encoder!\n"); -- goto create_fail; -+ goto link_enc_create_fail; - } - - link->public.link_enc_hw_inst = link->link_enc->transmitter; -@@ -1002,7 +1004,7 @@ static bool construct( - if (!dal_adapter_service_get_device_tag( - as, link->link_id, i, &link->device_tag)) { - DC_ERROR("Failed to find device tag!\n"); -- goto create_fail; -+ goto device_tag_fail; - } - - /* Look for device tag that matches connector signal, -@@ -1046,8 +1048,18 @@ static bool construct( - program_hpd_filter(link); - - return true; -- -+device_tag_fail: -+ link->ctx->dc->res_pool.funcs->link_enc_destroy(&link->link_enc); -+link_enc_create_fail: -+ dal_ddc_service_destroy(&link->ddc); -+ddc_create_fail: - create_fail: -+ -+ if (hpd_gpio != NULL) { -+ dal_adapter_service_release_irq( -+ as, hpd_gpio); -+ } -+ - return false; - } - --- -2.7.4 - |