diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2013-02-28 18:53:01 +0100 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2013-02-28 18:53:01 +0100 |
| commit | 168268a225d24da3768a88c1029fb3014b0837ca (patch) | |
| tree | afde019a1ac79366df0b96a2fcc8ba50bc5298fa /arch/powerpc/kernel/time.c | |
| parent | 04ee16bdf486061147c608410c2c9181352aaa3a (diff) | |
| parent | 6f1989bc982bc176b0d63e028e9b7f23ae1b4583 (diff) | |
Merge 'mmc/upstream' into late/mvebu2
These patches from the mmc tree were merged into v3.9 already
and the later mvebu patches depend on them.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
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 |
