mirror of https://gitee.com/openkylin/linux.git
powerpc: Fix WARN_ON in decrementer_check_overflow
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>
This commit is contained in:
parent
7a768d30ca
commit
6fe5f5f3ff
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue