Re: [PATCH v2] iio: light: tsl2591: return actual error from probe IRQ failure

From: Jonathan Cameron

Date: Mon May 18 2026 - 11:52:23 EST


On Mon, 18 May 2026 14:43:11 +0500
Stepan Ionichev <sozdayvek@xxxxxxxxx> wrote:

> When devm_request_threaded_irq() fails, probe logs the error and
> then returns -EINVAL, dropping the real error code and breaking the
> deferred-probe flow for -EPROBE_DEFER.
>
> Return ret directly; the IRQ subsystem already prints on failure.
>
> Fixes: 2335f0d7c790 ("iio: light: Added AMS tsl2591 driver implementation")

Hmm. To me borderline on whether it's a fix. In theory a board may exist
where the defer is a possibility. In practice probably not given I don't
think we've ever had a report of this.

Meh, it's harmless enough and maybe helps someone.

> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Stepan Ionichev <sozdayvek@xxxxxxxxx>
New series versions should never be in reply to older series.

It tends to hide them in people's inboxes and brings little nor no benefit.
> ---
> v2:
> - Drop dev_err_probe(); just return ret (Andy)
> - Add Cc: stable@ as suggested by Joshua
Mostly for IIO I add those to patches that I think need it but don't object
if people feel strongly enough and add them themselves.

Applied to the iio-fixes branch of iio.git.

>
> v1: https://lore.kernel.org/all/20260517181042.668-1-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..c5ccd833d 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 ret;
> indio_dev->info = &tsl2591_info;
> } else {
> indio_dev->info = &tsl2591_info_no_irq;