aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/gdb-stub.c
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2004-12-28 02:49:43 -0500
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:30:17 -0400
commitb188ffe876382ecc009ceb4fe033fd6ec7ba4ede (patch)
tree076658e5088c376aafbccafd8a767c587e14aea9 /arch/mips/kernel/gdb-stub.c
parent0964ce24d091a1d3dc7f667e1b107ab77d4325e6 (diff)
Fix build with SMP disabled and preemption enabled.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/gdb-stub.c')
-rw-r--r--arch/mips/kernel/gdb-stub.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/kernel/gdb-stub.c b/arch/mips/kernel/gdb-stub.c
index d3fd1ab14274..7c46b336c7db 100644
--- a/arch/mips/kernel/gdb-stub.c
+++ b/arch/mips/kernel/gdb-stub.c
@@ -637,15 +637,18 @@ static struct gdb_bp_save async_bp;
637 * and only one can be active at a time. 637 * and only one can be active at a time.
638 */ 638 */
639extern spinlock_t smp_call_lock; 639extern spinlock_t smp_call_lock;
640
640void set_async_breakpoint(unsigned long *epc) 641void set_async_breakpoint(unsigned long *epc)
641{ 642{
642 /* skip breaking into userland */ 643 /* skip breaking into userland */
643 if ((*epc & 0x80000000) == 0) 644 if ((*epc & 0x80000000) == 0)
644 return; 645 return;
645 646
647#ifdef CONFIG_SMP
646 /* avoid deadlock if someone is make IPC */ 648 /* avoid deadlock if someone is make IPC */
647 if (spin_is_locked(&smp_call_lock)) 649 if (spin_is_locked(&smp_call_lock))
648 return; 650 return;
651#endif
649 652
650 async_bp.addr = *epc; 653 async_bp.addr = *epc;
651 *epc = (unsigned long)async_breakpoint; 654 *epc = (unsigned long)async_breakpoint;