2020-07-27 15:00:48

by Christian Eggers

[permalink] [raw]
Subject: [PATCH 1/2] iio: trigger: hrtimer: Disable irqs before calling iio_trigger_poll()

iio_trigger_poll() calls generic_handle_irq(). This function expects to
be run with local IRQs disabled.

Signed-off-by: Christian Eggers <[email protected]>
Cc: [email protected]
---
drivers/iio/trigger/iio-trig-hrtimer.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/iio/trigger/iio-trig-hrtimer.c b/drivers/iio/trigger/iio-trig-hrtimer.c
index f59bf8d58586..2fe8a5c1484e 100644
--- a/drivers/iio/trigger/iio-trig-hrtimer.c
+++ b/drivers/iio/trigger/iio-trig-hrtimer.c
@@ -89,7 +89,9 @@ static enum hrtimer_restart iio_hrtimer_trig_handler(struct hrtimer *timer)
info = container_of(timer, struct iio_hrtimer_info, timer);

hrtimer_forward_now(timer, info->period);
+ local_irq_disable();
iio_trigger_poll(info->swt.trigger);
+ local_irq_enable();

return HRTIMER_RESTART;
}
--
Christian Eggers
Embedded software developer

Arnold & Richter Cine Technik GmbH & Co. Betriebs KG
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRA 57918
Persoenlich haftender Gesellschafter: Arnold & Richter Cine Technik GmbH
Sitz: Muenchen - Registergericht: Amtsgericht Muenchen - Handelsregisternummer: HRB 54477
Geschaeftsfuehrer: Dr. Michael Neuhaeuser; Stephan Schenk; Walter Trauninger; Markus Zeiler