From: Sung Joon Kim <sung...@amd.com>

[Why & How]
Call to immediate_disable_crtc was not checked before calling,
exposing a potential null pointer hang. Fix it.

Reviewed-by: Charlene Liu <charlene....@amd.com>
Acked-by: Qingqing Zhuo <qingqing.z...@amd.com>
Signed-off-by: Sung Joon Kim <sung...@amd.com>
---
 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c 
b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
index 98d6a1f8af60..ca6ce13921a7 100644
--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
+++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c
@@ -128,7 +128,9 @@ static void dcn35_disable_otg_wa(struct clk_mgr 
*clk_mgr_base, struct dc_state *
                                if (stream_enc && 
stream_enc->funcs->disable_fifo)
                                        
pipe->stream_res.stream_enc->funcs->disable_fifo(stream_enc);
 
-                               
pipe->stream_res.tg->funcs->immediate_disable_crtc(pipe->stream_res.tg);
+                               if (pipe->stream_res.tg && 
pipe->stream_res.tg->funcs->immediate_disable_crtc)
+                                       
pipe->stream_res.tg->funcs->immediate_disable_crtc(pipe->stream_res.tg);
+
                                reset_sync_context_for_pipe(dc, context, i);
                        } else {
                                
pipe->stream_res.tg->funcs->enable_crtc(pipe->stream_res.tg);
-- 
2.40.1

Reply via email to