| From 85dfb43bf69281adb1f345dfd9a39faf2e5a718d Mon Sep 17 00:00:00 2001 |
| From: Phil Elwell <phil@raspberrypi.com> |
| Date: Fri, 11 Aug 2023 16:58:29 +0100 |
| Subject: iio: pressure: bmp280: Fix NULL pointer exception |
| |
| From: Phil Elwell <phil@raspberrypi.com> |
| |
| commit 85dfb43bf69281adb1f345dfd9a39faf2e5a718d upstream. |
| |
| The bmp085 EOC IRQ support is optional, but the driver's common probe |
| function queries the IRQ properties whether or not it exists, which |
| can trigger a NULL pointer exception. Avoid any exception by making |
| the query conditional on the possession of a valid IRQ. |
| |
| Fixes: aae953949651 ("iio: pressure: bmp280: add support for BMP085 EOC interrupt") |
| Signed-off-by: Phil Elwell <phil@raspberrypi.com> |
| Reviewed-by: Linus Walleij <linus.walleij@linaro.org> |
| Link: https://lore.kernel.org/r/20230811155829.51208-1-phil@raspberrypi.com |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/iio/pressure/bmp280-core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/iio/pressure/bmp280-core.c |
| +++ b/drivers/iio/pressure/bmp280-core.c |
| @@ -1113,7 +1113,7 @@ int bmp280_common_probe(struct device *d |
| * however as it happens, the BMP085 shares the chip ID of BMP180 |
| * so we look for an IRQ if we have that. |
| */ |
| - if (irq > 0 || (chip_id == BMP180_CHIP_ID)) { |
| + if (irq > 0 && (chip_id == BMP180_CHIP_ID)) { |
| ret = bmp085_fetch_eoc_irq(dev, name, irq, data); |
| if (ret) |
| goto out_disable_vdda; |