diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-10-31 22:49:04 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-11-01 17:46:09 +0000 |
commit | cb56837ea5f15fa5279fd490f292134c3a92e5de (patch) | |
tree | a6da64b1906b9459888687fc28f0bccdbe96ce42 /arch/mips/kernel/entry.S | |
parent | 242954b5aa8e5ec84f46a84637daf08ee4247c6e (diff) | |
download | op-kernel-dev-cb56837ea5f15fa5279fd490f292134c3a92e5de.zip op-kernel-dev-cb56837ea5f15fa5279fd490f292134c3a92e5de.tar.gz |
[MIPS] SMTC: Fix crash if # of TC's > # of VPE's after pt_regs irq cleanup.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/entry.S')
-rw-r--r-- | arch/mips/kernel/entry.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index 417c08a..f10b6a1 100644 --- a/arch/mips/kernel/entry.S +++ b/arch/mips/kernel/entry.S @@ -83,7 +83,10 @@ FEXPORT(syscall_exit) FEXPORT(restore_all) # restore full frame #ifdef CONFIG_MIPS_MT_SMTC /* Detect and execute deferred IPI "interrupts" */ + LONG_L s0, TI_REGS($28) + LONG_S sp, TI_REGS($28) jal deferred_smtc_ipi + LONG_S s0, TI_REGS($28) /* Re-arm any temporarily masked interrupts not explicitly "acked" */ mfc0 v0, CP0_TCSTATUS ori v1, v0, TCSTATUS_IXMT |