]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/amd/display: Fix uninitialized variables in DM
authorAlex Hung <alex.hung@amd.com>
Tue, 16 Apr 2024 01:02:56 +0000 (19:02 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Jul 2024 10:49:05 +0000 (12:49 +0200)
[ Upstream commit f95bcb041f213a5da3da5fcaf73269bd13dba945 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c

index 7ed6bb61fe0ad6190fadcf1cff18e258e589c260..c1a0fd47802a04cf72b590d2249a700743b3cbac 100644 (file)
@@ -264,7 +264,7 @@ static u32 dm_vblank_get_counter(struct amdgpu_device *adev, int crtc)
 static int dm_crtc_get_scanoutpos(struct amdgpu_device *adev, int crtc,
                                  u32 *vbl, u32 *position)
 {
-       u32 v_blank_start, v_blank_end, h_position, v_position;
+       u32 v_blank_start = 0, v_blank_end = 0, h_position = 0, v_position = 0;
        struct amdgpu_crtc *acrtc = NULL;
 
        if ((crtc < 0) || (crtc >= adev->mode_info.num_crtc))
@@ -801,7 +801,7 @@ static void dm_handle_hpd_work(struct work_struct *work)
  */
 static void dm_dmub_outbox1_low_irq(void *interrupt_params)
 {
-       struct dmub_notification notify;
+       struct dmub_notification notify = {0};
        struct common_irq_params *irq_params = interrupt_params;
        struct amdgpu_device *adev = irq_params->adev;
        struct amdgpu_display_manager *dm = &adev->dm;
@@ -6895,7 +6895,7 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state,
        struct amdgpu_dm_connector *aconnector;
        struct dm_connector_state *dm_conn_state;
        int i, j, ret;
-       int vcpi, pbn_div, pbn, slot_num = 0;
+       int vcpi, pbn_div, pbn = 0, slot_num = 0;
 
        for_each_new_connector_in_state(state, connector, new_con_state, i) {
 
@@ -10064,7 +10064,7 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev,
        struct dm_crtc_state *dm_old_crtc_state, *dm_new_crtc_state;
        struct drm_dp_mst_topology_mgr *mgr;
        struct drm_dp_mst_topology_state *mst_state;
-       struct dsc_mst_fairness_vars vars[MAX_PIPES];
+       struct dsc_mst_fairness_vars vars[MAX_PIPES] = {0};
 
        trace_amdgpu_dm_atomic_check_begin(state);
 
index 2bc37c5a27605910237138fe8a2711bffb58812a..c8609595f324b4d1974a2d17b5793b56d06c76cf 100644 (file)
@@ -1219,7 +1219,7 @@ static ssize_t dp_sdp_message_debugfs_write(struct file *f, const char __user *b
                                 size_t size, loff_t *pos)
 {
        int r;
-       uint8_t data[36];
+       uint8_t data[36] = {0};
        struct amdgpu_dm_connector *connector = file_inode(f)->i_private;
        struct dm_crtc_state *acrtc_state;
        uint32_t write_size = 36;
@@ -2929,7 +2929,7 @@ static int psr_read_residency(void *data, u64 *val)
 {
        struct amdgpu_dm_connector *connector = data;
        struct dc_link *link = connector->dc_link;
-       u32 residency;
+       u32 residency = 0;
 
        link->dc->link_srv->edp_get_psr_residency(link, &residency);