Skip to content

Commit

Permalink
powerpc: Fix WARN_ON in decrementer_check_overflow
Browse files Browse the repository at this point in the history
We use __get_cpu_var() which triggers a false positive warning
in smp_processor_id() thinking interrupts are enabled (at this
point, they are soft-enabled but hard-disabled).

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  • Loading branch information
Benjamin Herrenschmidt committed Feb 14, 2012
1 parent 7a768d3 commit 6fe5f5f
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion arch/powerpc/kernel/irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,14 @@ static inline notrace void set_soft_enabled(unsigned long enable)
static inline notrace void decrementer_check_overflow(void)
{
u64 now = get_tb_or_rtc();
u64 *next_tb = &__get_cpu_var(decrementers_next_tb);
u64 *next_tb;

preempt_disable();
next_tb = &__get_cpu_var(decrementers_next_tb);

if (now >= *next_tb)
set_dec(1);
preempt_enable();
}

notrace void arch_local_irq_restore(unsigned long en)
Expand Down

0 comments on commit 6fe5f5f

Please sign in to comment.