From f41341160cb4faa33fd3a63c5bb8ed9dcbe2ab56 Mon Sep 17 00:00:00 2001 From: chaudhary amit Date: Mon, 21 May 2018 14:59:33 +0530 Subject: [PATCH 3449/4131] dynamically adding GPIO may cause amdgpu driver crach fix --- drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c | 2 +- drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c b/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c index 1d1efd7..85205e5 100644 --- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c +++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_base.c @@ -61,7 +61,7 @@ enum gpio_result dal_gpio_open_ex( enum gpio_mode mode) { if (gpio->pin) { - ASSERT_CRITICAL(false); + printk(KERN_ERR "Already opened GPIO"); return GPIO_RESULT_ALREADY_OPENED; } diff --git a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c index 80038e0..faa7979 100644 --- a/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c +++ b/drivers/gpu/drm/amd/display/dc/gpio/gpio_service.c @@ -483,14 +483,14 @@ enum gpio_result dal_ddc_open( result = dal_gpio_open_ex(ddc->pin_data, mode); - if (result != GPIO_RESULT_OK) { + if (result != GPIO_RESULT_OK && result != GPIO_RESULT_ALREADY_OPENED) { BREAK_TO_DEBUGGER(); return result; } result = dal_gpio_open_ex(ddc->pin_clock, mode); - if (result != GPIO_RESULT_OK) { + if (result != GPIO_RESULT_OK && result != GPIO_RESULT_ALREADY_OPENED) { BREAK_TO_DEBUGGER(); goto failure; } -- 2.7.4