Skip to content

Commit 8e1eeca

Browse files
larsclausenjic23
authored andcommitted
iio: stk3310: Don't return error code in interrupt handler
Interrupt handlers must return one of the irqreturn_t values. Returning a error code is not supported. The stk3310 event interrupt handler returns an error code when reading the flags register fails. Fix the implementation to always return an irqreturn_t value. Fixes: 3dd477a ("iio: light: Add threshold interrupt support for STK3310") Signed-off-by: Lars-Peter Clausen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Cc: <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
1 parent 45febe0 commit 8e1eeca

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/iio/light/stk3310.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -546,9 +546,8 @@ static irqreturn_t stk3310_irq_event_handler(int irq, void *private)
546546
mutex_lock(&data->lock);
547547
ret = regmap_field_read(data->reg_flag_nf, &dir);
548548
if (ret < 0) {
549-
dev_err(&data->client->dev, "register read failed\n");
550-
mutex_unlock(&data->lock);
551-
return ret;
549+
dev_err(&data->client->dev, "register read failed: %d\n", ret);
550+
goto out;
552551
}
553552
event = IIO_UNMOD_EVENT_CODE(IIO_PROXIMITY, 1,
554553
IIO_EV_TYPE_THRESH,
@@ -560,6 +559,7 @@ static irqreturn_t stk3310_irq_event_handler(int irq, void *private)
560559
ret = regmap_field_write(data->reg_flag_psint, 0);
561560
if (ret < 0)
562561
dev_err(&data->client->dev, "failed to reset interrupts\n");
562+
out:
563563
mutex_unlock(&data->lock);
564564

565565
return IRQ_HANDLED;

0 commit comments

Comments
 (0)