[PATCH] iio: light: tsl2591: return actual error from probe IRQ failure
From: Stepan Ionichev
Date: Sun May 17 2026 - 14:15:59 EST
When devm_request_threaded_irq() fails, probe calls dev_err_probe()
but then returns -EINVAL, dropping the real error code and breaking
the deferred-probe flow that dev_err_probe() handles for -EPROBE_DEFER.
Return the value from dev_err_probe() instead.
Fixes: 2335f0d7c790 ("iio: light: Added AMS tsl2591 driver implementation")
Signed-off-by: Stepan Ionichev <sozdayvek@xxxxxxxxx>
---
drivers/iio/light/tsl2591.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/iio/light/tsl2591.c b/drivers/iio/light/tsl2591.c
index c5557867e..4b0a2a302 100644
--- a/drivers/iio/light/tsl2591.c
+++ b/drivers/iio/light/tsl2591.c
@@ -1137,10 +1137,8 @@ static int tsl2591_probe(struct i2c_client *client)
NULL, tsl2591_event_handler,
IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
"tsl2591_irq", indio_dev);
- if (ret) {
- dev_err_probe(&client->dev, ret, "IRQ request error\n");
- return -EINVAL;
- }
+ if (ret)
+ return dev_err_probe(&client->dev, ret, "IRQ request error\n");
indio_dev->info = &tsl2591_info;
} else {
indio_dev->info = &tsl2591_info_no_irq;
--
2.43.0