aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1235-drm-amd-display-Check-hpd_gpio-for-NULL-before-acces.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1235-drm-amd-display-Check-hpd_gpio-for-NULL-before-acces.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1235-drm-amd-display-Check-hpd_gpio-for-NULL-before-acces.patch42
1 files changed, 42 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1235-drm-amd-display-Check-hpd_gpio-for-NULL-before-acces.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1235-drm-amd-display-Check-hpd_gpio-for-NULL-before-acces.patch
new file mode 100644
index 00000000..aa74ddfa
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1235-drm-amd-display-Check-hpd_gpio-for-NULL-before-acces.patch
@@ -0,0 +1,42 @@
+From 5dd0792cf58a760c84c2da217bd9108f130e7bb6 Mon Sep 17 00:00:00 2001
+From: Harry Wentland <harry.wentland@amd.com>
+Date: Thu, 7 Feb 2019 15:12:35 -0500
+Subject: [PATCH 1235/2940] drm/amd/display: Check hpd_gpio for NULL before
+ accessing it
+
+dal_gpio_open and dal_gpio_unlock_pin dereference hpd_gpio.
+Check for NULL before calling those functions.
+
+Fixes: e261568f94d6 ("drm/amd/display: add gpio lock/unlock")
+Reported-by: Przemek Socha <soprwa@gmail.com>
+CC: Chiawen Huang <chiawen.huang@amd.com>
+CC: Tony Cheng <Tony.Cheng@amd.com>
+Signed-off-by: Harry Wentland <harry.wentland@amd.com>
+Acked-by: Alex Deucher <alexander.deucher@amd.com>
+Tested-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc_link.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+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 829319abaa2a..a5b18cfac326 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc_link.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc_link.c
+@@ -1127,10 +1127,11 @@ static bool construct(
+ link->dc->res_pool->funcs->link_init(link);
+
+ link->hpd_gpio = get_hpd_gpio(link->ctx->dc_bios, link->link_id, link->ctx->gpio_service);
+- dal_gpio_open(link->hpd_gpio, GPIO_MODE_INTERRUPT);
+- dal_gpio_unlock_pin(link->hpd_gpio);
+- if (link->hpd_gpio != NULL)
++ if (link->hpd_gpio != NULL) {
++ dal_gpio_open(link->hpd_gpio, GPIO_MODE_INTERRUPT);
++ dal_gpio_unlock_pin(link->hpd_gpio);
+ link->irq_source_hpd = dal_irq_get_source(link->hpd_gpio);
++ }
+
+ switch (link->link_id.id) {
+ case CONNECTOR_ID_HDMI_TYPE_A:
+--
+2.17.1
+