Commit d456f387 authored by Alex Deucher's avatar Alex Deucher

drm/amdgpu: fix 64 bit divide in eeprom code

pos is 64 bits.

Fixes: c65b0805 ("drm/amdgpu: RAS EEPROM table is now in debugfs")
Cc: luben.tuikov@amd.com
Reported-by: default avatarkernel test robot <lkp@intel.com>
Reviewed-by: default avatarLuben Tuikov <luben.tuikov@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent c65b0805
...@@ -880,13 +880,17 @@ static ssize_t amdgpu_ras_debugfs_table_read(struct file *f, char __user *buf, ...@@ -880,13 +880,17 @@ static ssize_t amdgpu_ras_debugfs_table_read(struct file *f, char __user *buf,
if (*pos < data_len && size > 0) { if (*pos < data_len && size > 0) {
u8 dare[RAS_TABLE_RECORD_SIZE]; u8 dare[RAS_TABLE_RECORD_SIZE];
u8 data[rec_hdr_fmt_size + 1]; u8 data[rec_hdr_fmt_size + 1];
struct eeprom_table_record record;
int s, r;
/* Find the starting record index /* Find the starting record index
*/ */
int s = (*pos - strlen(tbl_hdr_str) - tbl_hdr_fmt_size - s = *pos - strlen(tbl_hdr_str) - tbl_hdr_fmt_size -
strlen(rec_hdr_str)) / rec_hdr_fmt_size; strlen(rec_hdr_str);
int r = (*pos - strlen(tbl_hdr_str) - tbl_hdr_fmt_size - s = s / rec_hdr_fmt_size;
strlen(rec_hdr_str)) % rec_hdr_fmt_size; r = *pos - strlen(tbl_hdr_str) - tbl_hdr_fmt_size -
struct eeprom_table_record record; strlen(rec_hdr_str);
r = r % rec_hdr_fmt_size;
for ( ; size > 0 && s < control->ras_num_recs; s++) { for ( ; size > 0 && s < control->ras_num_recs; s++) {
u32 ai = RAS_RI_TO_AI(control, s); u32 ai = RAS_RI_TO_AI(control, s);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment