aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5253-drm-amd-display-Fix-memory-leak-caused-by-missed-dc_.patch
diff options
context:
space:
mode:
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_.patch43
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
+