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

Configure Feed

Select the types of activity you want to include in your feed.

iio: adc: ad9467: don't ignore error codes

Make sure functions that return errors are not ignored.

Fixes: ad6797120238 ("iio: adc: ad9467: add support AD9467 ADC")
Reviewed-by: David Lechner <dlechner@baylibre.com>
Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20231207-iio-backend-prep-v2-2-a4a33bc4d70e@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Nuno Sa and committed by
Jonathan Cameron
e072e149 76f02853

+17 -10
+17 -10
drivers/iio/adc/ad9467.c
··· 162 162 163 163 if (readval == NULL) { 164 164 ret = ad9467_spi_write(spi, reg, writeval); 165 - ad9467_spi_write(spi, AN877_ADC_REG_TRANSFER, 166 - AN877_ADC_TRANSFER_SYNC); 167 - return ret; 165 + if (ret) 166 + return ret; 167 + return ad9467_spi_write(spi, AN877_ADC_REG_TRANSFER, 168 + AN877_ADC_TRANSFER_SYNC); 168 169 } 169 170 170 171 ret = ad9467_spi_read(spi, reg); ··· 273 272 const struct ad9467_chip_info *info1 = to_ad9467_chip_info(info); 274 273 struct ad9467_state *st = adi_axi_adc_conv_priv(conv); 275 274 unsigned int i, vref_val; 275 + int ret; 276 276 277 - vref_val = ad9467_spi_read(st->spi, AN877_ADC_REG_VREF); 277 + ret = ad9467_spi_read(st->spi, AN877_ADC_REG_VREF); 278 + if (ret < 0) 279 + return ret; 278 280 279 - vref_val &= info1->vref_mask; 281 + vref_val = ret & info1->vref_mask; 280 282 281 283 for (i = 0; i < info->num_scales; i++) { 282 284 if (vref_val == info->scale_table[i][1]) ··· 300 296 struct ad9467_state *st = adi_axi_adc_conv_priv(conv); 301 297 unsigned int scale_val[2]; 302 298 unsigned int i; 299 + int ret; 303 300 304 301 if (val != 0) 305 302 return -EINVAL; ··· 310 305 if (scale_val[0] != val || scale_val[1] != val2) 311 306 continue; 312 307 313 - ad9467_spi_write(st->spi, AN877_ADC_REG_VREF, 314 - info->scale_table[i][1]); 315 - ad9467_spi_write(st->spi, AN877_ADC_REG_TRANSFER, 316 - AN877_ADC_TRANSFER_SYNC); 317 - return 0; 308 + ret = ad9467_spi_write(st->spi, AN877_ADC_REG_VREF, 309 + info->scale_table[i][1]); 310 + if (ret < 0) 311 + return ret; 312 + 313 + return ad9467_spi_write(st->spi, AN877_ADC_REG_TRANSFER, 314 + AN877_ADC_TRANSFER_SYNC); 318 315 } 319 316 320 317 return -EINVAL;