[PATCH v3 4/6] iio: light: ltr501: Power down chip if request irq fails
Esben Haabendal <[email protected]> Tue, 04 Aug 2026 19:02:15 +0200
| Newsgroups | org.kernel.vger.stable,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
In case devm_request_threaded_irq() failed, we were leaving the chip
powered instead of powering it down again. Power down the chip switching
ALS and PS modes to standby.
The dev_err() message was causing duplicated error messages, as
devm_request_threaded_irq() calls dev_err_probe() on failure.
Fixes: 7ac702b3144b ("iio: ltr501: Add interrupt support")
Cc: [email protected]
Signed-off-by: Esben Haabendal <[email protected]>
---
drivers/iio/light/ltr501.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c
index 7d045be78c6d..b36bd10a0262 100644
--- a/drivers/iio/light/ltr501.c
+++ b/drivers/iio/light/ltr501.c
@@ -1537,11 +1537,8 @@ static int ltr501_probe(struct i2c_client *client)
IRQF_ONESHOT,
"ltr501_thresh_event",
indio_dev);
- if (ret) {
- dev_err(&client->dev, "request irq (%d) failed\n",
- client->irq);
- return ret;
- }
+ if (ret)
+ goto powerdown_on_error;
} else {
indio_dev->info = data->chip_info->info_no_irq;
}
--
2.55.0