common/au1000/irq.c was missing a mips_timer_interrupt() prototype, whereas in common/au1000/time.c the actual mips_timer_interrupt() implementation was missing an irq_exit() invocation, causing a preempt_count() leak Signed-off-by: Herbert Valerio Riedel <hvr@xxxxxxxxxx> --- arch/mips/au1000/common/irq.c | 1 + arch/mips/au1000/common/time.c | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) d0a263ef156cf498d97cf6b2f37ba4d8d4a92559 diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c index da61de7..afe05ec 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c @@ -68,6 +68,7 @@ extern void set_debug_traps(void); extern irq_cpustat_t irq_stat [NR_CPUS]; +extern void mips_timer_interrupt(struct pt_regs *regs); static void setup_local_irq(unsigned int irq, int type, int int_req); static unsigned int startup_irq(unsigned int irq); diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c index f85f152..f74d66a 100644 --- a/arch/mips/au1000/common/time.c +++ b/arch/mips/au1000/common/time.c @@ -116,6 +116,7 @@ void mips_timer_interrupt(struct pt_regs null: ack_r4ktimer(0); + irq_exit(); } #ifdef CONFIG_PM -- 1.2.4