diff options
Diffstat (limited to 'arch/powerpc/kernel/time.c')
| -rw-r--r-- | arch/powerpc/kernel/time.c | 9 | 
1 files changed, 7 insertions, 2 deletions
| diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index 6f6b1cccc916..127361e093f4 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -494,10 +494,15 @@ void timer_interrupt(struct pt_regs * regs)  	set_dec(DECREMENTER_MAX);  	/* Some implementations of hotplug will get timer interrupts while -	 * offline, just ignore these +	 * offline, just ignore these and we also need to set +	 * decrementers_next_tb as MAX to make sure __check_irq_replay +	 * don't replay timer interrupt when return, otherwise we'll trap +	 * here infinitely :(  	 */ -	if (!cpu_online(smp_processor_id())) +	if (!cpu_online(smp_processor_id())) { +		*next_tb = ~(u64)0;  		return; +	}  	/* Conditionally hard-enable interrupts now that the DEC has been  	 * bumped to its maximum value |