Commit a79165b1 authored by Philippe Gerum's avatar Philippe Gerum

ipipe: timer: prevent double-ack if host timer is not grabbed

Only timers stolen away from the host kernel should be early acked by
the pipeline core. Otherwise, the regular IRQ handler associated to
the timer would duplicate the action. The IRQ line is left masked,
waiting for the IRQ flow handler to unmask it eventually.
parent 2259d365
......@@ -354,10 +354,13 @@ static void __ipipe_ack_hrtimer_irq(struct irq_desc *desc)
if (desc)
desc->ipipe_ack(desc);
if (timer->ack)
timer->ack();
if (desc)
desc->ipipe_end(desc);
if (timer->host_timer->ipipe_stolen) {
if (timer->ack)
timer->ack();
if (desc)
desc->ipipe_end(desc);
}
}
static int do_set_oneshot(struct clock_event_device *cdev)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment