diff options
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.patch | 42 |
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 + |