diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5253-drm-amd-display-Fix-memory-leak-caused-by-missed-dc_.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/5253-drm-amd-display-Fix-memory-leak-caused-by-missed-dc_.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5253-drm-amd-display-Fix-memory-leak-caused-by-missed-dc_.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5253-drm-amd-display-Fix-memory-leak-caused-by-missed-dc_.patch new file mode 100644 index 00000000..35114954 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5253-drm-amd-display-Fix-memory-leak-caused-by-missed-dc_.patch @@ -0,0 +1,43 @@ +From e565c259efdc6a97604751d6629a4900a3e8ffe0 Mon Sep 17 00:00:00 2001 +From: SivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com> +Date: Wed, 15 Aug 2018 16:55:18 -0400 +Subject: [PATCH 5253/5725] drm/amd/display: Fix memory leak caused by missed + dc_sink_release + +[Why] +There is currently an intermittent hang from a memory leak in +DTN stress testing. It is caused by unfreed memory during driver +disable. + +[How] +Do a dc_sink_release in the case that skips it incorrectly. + +Signed-off-by: SivapiriyanKumarasamy <sivapiriyan.kumarasamy@amd.com> +Reviewed-by: Aric Cyr <Aric.Cyr@amd.com> +Acked-by: Leo Li <sunpeng.li@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_link.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_link.c b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +index 61cf4fe..960521ce 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c +@@ -772,8 +772,12 @@ bool dc_link_detect(struct dc_link *link, enum dc_detect_reason reason) + * fail-safe mode + */ + if (dc_is_hdmi_signal(link->connector_signal) || +- dc_is_dvi_signal(link->connector_signal)) ++ dc_is_dvi_signal(link->connector_signal)) { ++ if (prev_sink != NULL) ++ dc_sink_release(prev_sink); ++ + return false; ++ } + default: + break; + } +-- +2.7.4 + |