Currently the pointer init_data is dereferenced on the assignment
of fw_info before init_data is sanity checked to see if it is null.
Fix te potential null pointer dereference on init_data by only
performing dereference after it is null checked.
Addresses-Coverity: ("Dereference before null check")
Fixes: 9adc8050bf3c ("drm/amd/display: make firmware info only load once during dc_bios create")
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
                        struct calc_pll_clock_source_init_data *init_data)
 {
        uint32_t i;
-       struct dc_firmware_info *fw_info = &init_data->bp->fw_info;
+       struct dc_firmware_info *fw_info;
        if (calc_pll_cs == NULL ||
                        init_data == NULL ||
                        init_data->bp == NULL)
        if (init_data->bp->fw_info_valid)
                return false;
 
+       fw_info = &init_data->bp->fw_info;
        calc_pll_cs->ctx = init_data->ctx;
        calc_pll_cs->ref_freq_khz = fw_info->pll_info.crystal_frequency;
        calc_pll_cs->min_vco_khz =