iio: ad9523: fix a missing check of return value
If ad9523_write() fails, indio_dev may get incorrect data. The fix inserts a check for the return value of ad9523_write(), and it fails, returns an error. Signed-off-by: Kangjie Lu <kjlu@umn.edu> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Родитель
c546d49656
Коммит
ae0b377372
|
@ -943,11 +943,14 @@ static int ad9523_setup(struct iio_dev *indio_dev)
|
|||
}
|
||||
}
|
||||
|
||||
for_each_clear_bit(i, &active_mask, AD9523_NUM_CHAN)
|
||||
ad9523_write(indio_dev,
|
||||
for_each_clear_bit(i, &active_mask, AD9523_NUM_CHAN) {
|
||||
ret = ad9523_write(indio_dev,
|
||||
AD9523_CHANNEL_CLOCK_DIST(i),
|
||||
AD9523_CLK_DIST_DRIVER_MODE(TRISTATE) |
|
||||
AD9523_CLK_DIST_PWR_DOWN_EN);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = ad9523_write(indio_dev, AD9523_POWER_DOWN_CTRL, 0);
|
||||
if (ret < 0)
|
||||
|
|
Загрузка…
Ссылка в новой задаче