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 2e04b37f67f..89b0f58194d 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c @@ -495,10 +495,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  |