Reviewed-by: Alex Hung <[email protected]>

On 9/15/26 01:57, Srinivasan Shanmugam wrote:
Smatch reports that link->link_enc is unconditionally dereferenced at
the top of dce110_enable_tmds_link_output() while the later
setup_ri_pj_check_in_sw_or_hw_mode calls guard against it being NULL,
making those checks contradictory.

Add an early return when link_enc is NULL and drop the redundant NULL
checks from the two call sites that follow, since link_enc is guaranteed
non-NULL past the guard

Fixes: 64fb5e1fd7fd ("drm/amd/display: Enable DCN6 sources compilation")
Reported-by: Dan Carpenter <[email protected]>
Cc: Aurabindo Pillai <[email protected]>
Cc: Roman Li <[email protected]>
Cc: Ivan Lipski <[email protected]>
Cc: Dan Wheeler <[email protected]>
Cc: Roman Li <[email protected]>
Cc: Alex Hung <[email protected]>
Cc: Tom Chung <[email protected]>
Signed-off-by: Srinivasan Shanmugam <[email protected]>
Change-Id: I3e55d05cfbcfa006bb06de92bf735806438b6b42
---
  drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c | 8 ++++++--
  1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c 
b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
index bb46d7249025..54797293c0a1 100644
--- a/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/hwss/dce110/dce110_hwseq.c
@@ -3487,6 +3487,10 @@ void dce110_enable_tmds_link_output(struct dc_link *link,
                uint32_t pixel_clock)
  {
        (void)link_res;
+
+       if (!link->link_enc)
+               return;
+
        link->link_enc->funcs->enable_tmds_output(
                        link->link_enc,
                        clock_source,
@@ -3497,12 +3501,12 @@ void dce110_enable_tmds_link_output(struct dc_link 
*link,
// For dongle Type 2 with no I2C support on board, setup sw mode of Ri/Pj check with proper aux instance
        if (link->force_to_use_aux) {
-               if (link->link_enc && 
link->link_enc->funcs->setup_ri_pj_check_in_sw_or_hw_mode)
+               if (link->link_enc->funcs->setup_ri_pj_check_in_sw_or_hw_mode)
                        
link->link_enc->funcs->setup_ri_pj_check_in_sw_or_hw_mode(link->link_enc,
                                link->aux_hw_inst, true);
        } else
                // For HDMI setup hw mode of Ri/Pj check with proper ddc pin 
instance
-               if (link->link_enc && 
link->link_enc->funcs->setup_ri_pj_check_in_sw_or_hw_mode)
+               if (link->link_enc->funcs->setup_ri_pj_check_in_sw_or_hw_mode)
                        
link->link_enc->funcs->setup_ri_pj_check_in_sw_or_hw_mode(link->link_enc,
                                link->ddc_hw_inst, false);
  }

Reply via email to