diff options
Diffstat (limited to 'kernel/debug/kdb/kdb_debugger.c')
| -rw-r--r-- | kernel/debug/kdb/kdb_debugger.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/debug/kdb/kdb_debugger.c b/kernel/debug/kdb/kdb_debugger.c index 328d18ef31e..8859ca34dcf 100644 --- a/kernel/debug/kdb/kdb_debugger.c +++ b/kernel/debug/kdb/kdb_debugger.c @@ -69,7 +69,10 @@ int kdb_stub(struct kgdb_state *ks)  	if (atomic_read(&kgdb_setting_breakpoint))  		reason = KDB_REASON_KEYBOARD; -	if (in_nmi()) +	if (ks->err_code == KDB_REASON_SYSTEM_NMI && ks->signo == SIGTRAP) +		reason = KDB_REASON_SYSTEM_NMI; + +	else if (in_nmi())  		reason = KDB_REASON_NMI;  	for (i = 0, bp = kdb_breakpoints; i < KDB_MAXBPT; i++, bp++) {  | 
