mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-03 12:05:13 +02:00
iio: adc: ad7280a: handle spi_setup() errors in probe()
[ Upstream commit6b39824ac4] The probe() function ignored the return value of spi_setup(), leaving SPI configuration failures undetected. If spi_setup() fails, the driver should stop initialization and propagate the error to the caller. Add proper error handling: check the return value of spi_setup() and return it on failure. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes:2051f25d2a("iio: adc: New driver for AD7280A Lithium Ion Battery Monitoring System") Signed-off-by: Pavel Zhigulin <Pavel.Zhigulin@kaspersky.com> Reviewed-by: Marcelo Schmitt <marcelo.schmitt@analog.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
4d60ffcded
commit
c7ee18052d
@@ -1026,7 +1026,9 @@ static int ad7280_probe(struct spi_device *spi)
|
||||
|
||||
st->spi->max_speed_hz = AD7280A_MAX_SPI_CLK_HZ;
|
||||
st->spi->mode = SPI_MODE_1;
|
||||
spi_setup(st->spi);
|
||||
ret = spi_setup(st->spi);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
st->ctrl_lb = FIELD_PREP(AD7280A_CTRL_LB_ACQ_TIME_MSK, st->acquisition_time) |
|
||||
FIELD_PREP(AD7280A_CTRL_LB_THERMISTOR_MSK, st->thermistor_term_en);
|
||||
|
||||
Reference in New Issue
Block a user