mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 13:41:51 +00:00
iio: bmi323: fix copy and paste bugs in suspend resume
This code is using bmi323_reg_savestate[] and ->reg_settings[] instead
of bmi323_ext_reg_savestate[] and ->ext_reg_settings[]. This was
discovered by Smatch:
drivers/iio/imu/bmi323/bmi323_core.c:2202 bmi323_core_runtime_suspend()
error: buffer overflow 'bmi323_reg_savestate' 9 <= 11
Fixes: 16531118ba
("iio: bmi323: peripheral in lowest power state on suspend")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/7175b8ec-85cf-4fbf-a4e1-c4c43c3b665c@stanley.mountain
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
cd8247cd41
commit
506a1ac4c4
@ -2198,12 +2198,12 @@ static int bmi323_core_runtime_suspend(struct device *dev)
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < ARRAY_SIZE(bmi323_ext_reg_savestate); i++) {
|
||||
ret = bmi323_read_ext_reg(data, bmi323_reg_savestate[i],
|
||||
&savestate->reg_settings[i]);
|
||||
ret = bmi323_read_ext_reg(data, bmi323_ext_reg_savestate[i],
|
||||
&savestate->ext_reg_settings[i]);
|
||||
if (ret) {
|
||||
dev_err(data->dev,
|
||||
"Error reading bmi323 external reg 0x%x: %d\n",
|
||||
bmi323_reg_savestate[i], ret);
|
||||
bmi323_ext_reg_savestate[i], ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
@ -2242,12 +2242,12 @@ static int bmi323_core_runtime_resume(struct device *dev)
|
||||
}
|
||||
|
||||
for (unsigned int i = 0; i < ARRAY_SIZE(bmi323_ext_reg_savestate); i++) {
|
||||
ret = bmi323_write_ext_reg(data, bmi323_reg_savestate[i],
|
||||
savestate->reg_settings[i]);
|
||||
ret = bmi323_write_ext_reg(data, bmi323_ext_reg_savestate[i],
|
||||
savestate->ext_reg_settings[i]);
|
||||
if (ret) {
|
||||
dev_err(data->dev,
|
||||
"Error writing bmi323 external reg 0x%x: %d\n",
|
||||
bmi323_reg_savestate[i], ret);
|
||||
bmi323_ext_reg_savestate[i], ret);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user