summaryrefslogtreecommitdiff
path: root/drivers/iio/accel/adxl380.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/accel/adxl380.c')
-rw-r--r--drivers/iio/accel/adxl380.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/iio/accel/adxl380.c b/drivers/iio/accel/adxl380.c
index 7dca5523091f..8518ee23e114 100644
--- a/drivers/iio/accel/adxl380.c
+++ b/drivers/iio/accel/adxl380.c
@@ -966,6 +966,13 @@ static irqreturn_t adxl380_irq_handler(int irq, void *p)
if (ret)
return IRQ_HANDLED;
+ if (fifo_entries > ADXL380_FIFO_SAMPLES) {
+ dev_err_ratelimited(st->dev,
+ "FIFO entry count %u exceeds FIFO size %lu\n",
+ fifo_entries, ADXL380_FIFO_SAMPLES);
+ return IRQ_HANDLED;
+ }
+
fifo_entries = rounddown(fifo_entries, st->fifo_set_size);
ret = regmap_noinc_read(st->regmap, ADXL380_FIFO_DATA, &st->fifo_buf,
sizeof(*st->fifo_buf) * fifo_entries);