diff options
-rw-r--r-- | arch/mips/kernel/gdb-stub.c | 3 |
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 | */ |
639 | extern spinlock_t smp_call_lock; | 639 | extern spinlock_t smp_call_lock; |
640 | |||
640 | void set_async_breakpoint(unsigned long *epc) | 641 | void 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; |