iio: stk3310: Don't return error code in interrupt handler
commit8e1eeca5afupstream. 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:3dd477acbd("iio: light: Add threshold interrupt support for STK3310") Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Link: https://lore.kernel.org/r/20211024171251.22896-3-lars@metafoo.de Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
5c4a0f307f
commit
4e78529110
@@ -546,9 +546,8 @@ static irqreturn_t stk3310_irq_event_handler(int irq, void *private)
|
|||||||
mutex_lock(&data->lock);
|
mutex_lock(&data->lock);
|
||||||
ret = regmap_field_read(data->reg_flag_nf, &dir);
|
ret = regmap_field_read(data->reg_flag_nf, &dir);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
dev_err(&data->client->dev, "register read failed\n");
|
dev_err(&data->client->dev, "register read failed: %d\n", ret);
|
||||||
mutex_unlock(&data->lock);
|
goto out;
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
event = IIO_UNMOD_EVENT_CODE(IIO_PROXIMITY, 1,
|
event = IIO_UNMOD_EVENT_CODE(IIO_PROXIMITY, 1,
|
||||||
IIO_EV_TYPE_THRESH,
|
IIO_EV_TYPE_THRESH,
|
||||||
@@ -560,6 +559,7 @@ static irqreturn_t stk3310_irq_event_handler(int irq, void *private)
|
|||||||
ret = regmap_field_write(data->reg_flag_psint, 0);
|
ret = regmap_field_write(data->reg_flag_psint, 0);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
dev_err(&data->client->dev, "failed to reset interrupts\n");
|
dev_err(&data->client->dev, "failed to reset interrupts\n");
|
||||||
|
out:
|
||||||
mutex_unlock(&data->lock);
|
mutex_unlock(&data->lock);
|
||||||
|
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
|||||||
Reference in New Issue
Block a user