diff mbox series

iio: adc: ad7192: properly check spi_get_device_match_data()

Message ID 20241014-fix-error-check-v1-1-089e1003d12f@analog.com (mailing list archive)
State Accepted
Headers show
Series iio: adc: ad7192: properly check spi_get_device_match_data() | expand

Commit Message

Nuno Sa Oct. 14, 2024, 3:01 p.m. UTC
spi_get_device_match_data() can return a NULL pointer. Hence, let's
check for it.

Signed-off-by: Nuno Sa <nuno.sa@analog.com>
---
 drivers/iio/adc/ad7192.c | 3 +++
 1 file changed, 3 insertions(+)


---
base-commit: 465644ac29536d10178b5ca4684d0b84765b9fa4
change-id: 20241014-fix-error-check-d34fde9780a2
--

Thanks!
- Nuno Sá

Comments

Jonathan Cameron Oct. 19, 2024, 2:01 p.m. UTC | #1
On Mon, 14 Oct 2024 17:01:21 +0200
Nuno Sa <nuno.sa@analog.com> wrote:

> spi_get_device_match_data() can return a NULL pointer. Hence, let's
> check for it.
> 
> Signed-off-by: Nuno Sa <nuno.sa@analog.com>
Applied.
> ---
>  drivers/iio/adc/ad7192.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
> index 7042ddfdfc03ee5ea58ca07fb1943feb6538175b..955e9eff0099e5c91491ca5b1f836534ac0db2f9 100644
> --- a/drivers/iio/adc/ad7192.c
> +++ b/drivers/iio/adc/ad7192.c
> @@ -1394,6 +1394,9 @@ static int ad7192_probe(struct spi_device *spi)
>  	st->int_vref_mv = ret == -ENODEV ? avdd_mv : ret / MILLI;
>  
>  	st->chip_info = spi_get_device_match_data(spi);
> +	if (!st->chip_info)
> +		return -ENODEV;
> +
>  	indio_dev->name = st->chip_info->name;
>  	indio_dev->modes = INDIO_DIRECT_MODE;
>  	indio_dev->info = st->chip_info->info;
> 
> ---
> base-commit: 465644ac29536d10178b5ca4684d0b84765b9fa4
> change-id: 20241014-fix-error-check-d34fde9780a2
> --
> 
> Thanks!
> - Nuno Sá
>
diff mbox series

Patch

diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
index 7042ddfdfc03ee5ea58ca07fb1943feb6538175b..955e9eff0099e5c91491ca5b1f836534ac0db2f9 100644
--- a/drivers/iio/adc/ad7192.c
+++ b/drivers/iio/adc/ad7192.c
@@ -1394,6 +1394,9 @@  static int ad7192_probe(struct spi_device *spi)
 	st->int_vref_mv = ret == -ENODEV ? avdd_mv : ret / MILLI;
 
 	st->chip_info = spi_get_device_match_data(spi);
+	if (!st->chip_info)
+		return -ENODEV;
+
 	indio_dev->name = st->chip_info->name;
 	indio_dev->modes = INDIO_DIRECT_MODE;
 	indio_dev->info = st->chip_info->info;