gic_next_event is always called with interrupts disabled, so the save / restore is pointless - remove it. Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxx> Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> --- drivers/clocksource/mips-gic-timer.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/clocksource/mips-gic-timer.c b/drivers/clocksource/mips-gic-timer.c index ae3167c28b12..8e8e3aa25b3f 100644 --- a/drivers/clocksource/mips-gic-timer.c +++ b/drivers/clocksource/mips-gic-timer.c @@ -45,10 +45,8 @@ static int gic_next_event(unsigned long delta, struct clock_event_device *evt) cnt = gic_read_count(); cnt += (u64)delta; - local_irq_save(flags); write_gic_vl_other(mips_cm_vp_id(cpumask_first(evt->cpumask))); write_gic_vo_compare(cnt); - local_irq_restore(flags); res = ((int)(gic_read_count() - cnt) >= 0) ? -ETIME : 0; return res; } -- 2.7.4