Commit 04612213 authored by Harry Wentland's avatar Harry Wentland Committed by Alex Deucher

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: ac627caf ("drm/amd/display: add gpio lock/unlock")
Reported-by: default avatarPrzemek Socha <soprwa@gmail.com>
CC: Chiawen Huang <chiawen.huang@amd.com>
CC: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Tested-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 7fbd31cc
...@@ -1127,10 +1127,11 @@ static bool construct( ...@@ -1127,10 +1127,11 @@ static bool construct(
link->dc->res_pool->funcs->link_init(link); 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); link->hpd_gpio = get_hpd_gpio(link->ctx->dc_bios, link->link_id, link->ctx->gpio_service);
if (link->hpd_gpio != NULL) {
dal_gpio_open(link->hpd_gpio, GPIO_MODE_INTERRUPT); dal_gpio_open(link->hpd_gpio, GPIO_MODE_INTERRUPT);
dal_gpio_unlock_pin(link->hpd_gpio); dal_gpio_unlock_pin(link->hpd_gpio);
if (link->hpd_gpio != NULL)
link->irq_source_hpd = dal_irq_get_source(link->hpd_gpio); link->irq_source_hpd = dal_irq_get_source(link->hpd_gpio);
}
switch (link->link_id.id) { switch (link->link_id.id) {
case CONNECTOR_ID_HDMI_TYPE_A: case CONNECTOR_ID_HDMI_TYPE_A:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment