[PATCH v3 4/6] iio: light: ltr501: Power down chip if request irq fails

From: Esben Haabendal

Date: Tue Aug 04 2026 - 13:11:25 EST


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: stable@xxxxxxxxxxxxxxx
Signed-off-by: Esben Haabendal <esben@xxxxxxxxxx>
---
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