Hi,

SUSE received a bug report:
https://bugzilla.suse.com/show_bug.cgi?id=1271175

get_ss_info_from_atombios() crashes in 7.1.2.

calc_pll_cs->ctx (dc_context) is NULL while trying to log by the first DC_LOG_SYNC() in get_ss_info_from_atombios():
                if (as_signal == AS_SIGNAL_TYPE_HDMI
&& ss_info_cur->spread_spectrum_percentage > 6){
                        /* invalid input, do nothing */
                        DC_LOG_SYNC(
                                "Invalid SS percentage ");
                        DC_LOG_SYNC(
                                "for HDMI in ATOMBIOS info Table!!!\n");
                        continue;
                }




Note dce110_clk_src_construct() calls:
  -> ss_info_from_atombios_create()
    -> get_ss_info_from_atombios()   <- uses calc_pll_cs->ctx
  -> calc_pll_max_vco_construct()    <- sets calc_pll_cs->ctx AFAICT

calc_pll_cs->ctx should not be used in the former, or something.





This was likely introduced by:
commit 1296423bf23c7a58133970e223b1f47ec6570308
Author: Bhawanpreet Lakha <[email protected]>
Date:   Tue Feb 20 17:42:50 2018 -0500

    drm/amd/display: define DC_LOGGER for logger





Before the commit,
  clk_src->base.ctx->logger
was used in get_ss_info_from_atombios(). The commit unified all users to use:
  clk_src->ctx->logger

The former is set at the beginning of dce110_clk_src_construct() (before the crash location). The latter only in calc_pll_max_vco_construct() (after the crash location).


Any ideas how to fix this? Redefine DC_LOGGER to clk_src->base in get_ss_info_from_atombios()?


I'm not sure if this is a regression and there is some underlying issue provoking the "Invalid SS percentage" dump -- asked in the bug and waiting for a reply.

thanks,
--
js
suse labs

Reply via email to