Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amd/display: Fix uninitialized variables in DM

This fixes 11 UNINIT issues reported by Coverity.

Reviewed-by: Hersen Wu <hersenxs.wu@amd.com>
Acked-by: Wayne Lin <wayne.lin@amd.com>
Signed-off-by: Alex Hung <alex.hung@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>

authored by

Alex Hung and committed by
Alex Deucher
f95bcb04 e0dd5782

+6 -6
+4 -4
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
··· 274 274 static int dm_crtc_get_scanoutpos(struct amdgpu_device *adev, int crtc, 275 275 u32 *vbl, u32 *position) 276 276 { 277 - u32 v_blank_start, v_blank_end, h_position, v_position; 277 + u32 v_blank_start = 0, v_blank_end = 0, h_position = 0, v_position = 0; 278 278 struct amdgpu_crtc *acrtc = NULL; 279 279 struct dc *dc = adev->dm.dc; 280 280 ··· 848 848 */ 849 849 static void dm_dmub_outbox1_low_irq(void *interrupt_params) 850 850 { 851 - struct dmub_notification notify; 851 + struct dmub_notification notify = {0}; 852 852 struct common_irq_params *irq_params = interrupt_params; 853 853 struct amdgpu_device *adev = irq_params->adev; 854 854 struct amdgpu_display_manager *dm = &adev->dm; ··· 7208 7208 struct amdgpu_dm_connector *aconnector; 7209 7209 struct dm_connector_state *dm_conn_state; 7210 7210 int i, j, ret; 7211 - int vcpi, pbn_div, pbn, slot_num = 0; 7211 + int vcpi, pbn_div, pbn = 0, slot_num = 0; 7212 7212 7213 7213 for_each_new_connector_in_state(state, connector, new_con_state, i) { 7214 7214 ··· 10615 10615 struct dm_crtc_state *dm_old_crtc_state, *dm_new_crtc_state; 10616 10616 struct drm_dp_mst_topology_mgr *mgr; 10617 10617 struct drm_dp_mst_topology_state *mst_state; 10618 - struct dsc_mst_fairness_vars vars[MAX_PIPES]; 10618 + struct dsc_mst_fairness_vars vars[MAX_PIPES] = {0}; 10619 10619 10620 10620 trace_amdgpu_dm_atomic_check_begin(state); 10621 10621
+2 -2
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c
··· 1249 1249 size_t size, loff_t *pos) 1250 1250 { 1251 1251 int r; 1252 - uint8_t data[36]; 1252 + uint8_t data[36] = {0}; 1253 1253 struct amdgpu_dm_connector *connector = file_inode(f)->i_private; 1254 1254 struct dm_crtc_state *acrtc_state; 1255 1255 uint32_t write_size = 36; ··· 2936 2936 { 2937 2937 struct amdgpu_dm_connector *connector = data; 2938 2938 struct dc_link *link = connector->dc_link; 2939 - u32 residency; 2939 + u32 residency = 0; 2940 2940 2941 2941 link->dc->link_srv->edp_get_psr_residency(link, &residency); 2942 2942