From: Alex Hung <alex.h...@amd.com>

Functions get_per_method_common_meta and get_expanded_strategy_list can
return null and thus it is necessary to check their returned values
before dereferencing.

This fixes 3 NULL_RETURNS issues reported by Coverity.

Signed-off-by: Alex Hung <alex.h...@amd.com>
Reviewed-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
Signed-off-by: Rodrigo Siqueira <rodrigo.sique...@amd.com>
---
 .../dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c      | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git 
a/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c 
b/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c
index dddb21818f8a..9331a8fe77c9 100644
--- 
a/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c
+++ 
b/drivers/gpu/drm/amd/display/dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c
@@ -1199,12 +1199,17 @@ static bool is_timing_group_schedulable(
 
        /* init allow start and end lines for timing group */
        stream_method_fams2_meta = get_per_method_common_meta(pmo, 
pstate_strategy->per_stream_pstate_method[base_stream_idx], base_stream_idx);
+       if (!stream_method_fams2_meta)
+               return false;
+
        group_fams2_meta->allow_start_otg_vline = 
stream_method_fams2_meta->allow_start_otg_vline;
        group_fams2_meta->allow_end_otg_vline = 
stream_method_fams2_meta->allow_end_otg_vline;
        group_fams2_meta->period_us = stream_method_fams2_meta->period_us;
        for (i = base_stream_idx + 1; i < 
display_cfg->display_config.num_streams; i++) {
                if 
(is_bit_set_in_bitfield(pmo->scratch.pmo_dcn4.synchronized_timing_group_masks[timing_group_idx],
 i)) {
                        stream_method_fams2_meta = 
get_per_method_common_meta(pmo, pstate_strategy->per_stream_pstate_method[i], 
i);
+                       if (!stream_method_fams2_meta)
+                               return false;
 
                        if (group_fams2_meta->allow_start_otg_vline < 
stream_method_fams2_meta->allow_start_otg_vline) {
                                /* set group allow start to larger otg vline */
@@ -1768,6 +1773,9 @@ bool pmo_dcn4_fams2_init_for_pstate_support(struct 
dml2_pmo_init_for_pstate_supp
        build_synchronized_timing_groups(pmo, display_config);
 
        strategy_list = get_expanded_strategy_list(&pmo->init_data, 
display_config->display_config.num_streams);
+       if (!strategy_list)
+               return false;
+
        strategy_list_size = get_num_expanded_strategies(&pmo->init_data, 
display_config->display_config.num_streams);
 
        if (strategy_list_size == 0)
-- 
2.43.0

Reply via email to