From: Sung Lee Date: Sun, 5 Apr 2020 20:40:48 +0000 (-0400) Subject: drm/amd/display: Check power_down functions exist before calling X-Git-Tag: v5.8-rc1~194^2~15^2~150 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d5e27f072844f6097ab3305b3b7bee00709b953b;p=thirdparty%2Fkernel%2Flinux.git drm/amd/display: Check power_down functions exist before calling [WHY] The power_down() function was only defined for specific asics and will crash the system if it is called by an asic with eDP connected that does not have it defined. [HOW] Add a check for the function's existence before calling it. Signed-off-by: Sung Lee Reviewed-by: Yongqiang Sun Acked-by: Rodrigo Siqueira Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c index 079a33a96f905..6086bbec94fe1 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c @@ -1378,8 +1378,11 @@ void dcn10_init_hw(struct dc *dc) struct dc_link *edp_link = get_edp_link(dc); if (edp_link && - edp_link->link_enc->funcs->is_dig_enabled && - edp_link->link_enc->funcs->is_dig_enabled(edp_link->link_enc)) { + edp_link->link_enc->funcs->is_dig_enabled && + edp_link->link_enc->funcs->is_dig_enabled(edp_link->link_enc) && + dc->hwss.edp_backlight_control && + dc->hwss.power_down && + dc->hwss.edp_power_control) { dc->hwss.edp_backlight_control(edp_link, false); dc->hwss.power_down(dc); dc->hwss.edp_power_control(edp_link, false);