avr32: nmi_enter() without nmi_exit()
While updating the rcu code, I noticed that do_nmi() for AVR32 is odd: There is an nmi_enter() call without an nmi_exit(). This can't be correct, it breaks rcu (at least the preempt version) and lockdep. [haavard.skinnemoen@atmel.com: fixed another case that returned directly] Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
This commit is contained in:
parent
73d4393d1d
commit
3d431a7427
|
@ -116,15 +116,15 @@ asmlinkage void do_nmi(unsigned long ecr, struct pt_regs *regs)
|
|||
switch (ret) {
|
||||
case NOTIFY_OK:
|
||||
case NOTIFY_STOP:
|
||||
return;
|
||||
break;
|
||||
case NOTIFY_BAD:
|
||||
die("Fatal Non-Maskable Interrupt", regs, SIGINT);
|
||||
default:
|
||||
printk(KERN_ALERT "Got NMI, but nobody cared. Disabling...\n");
|
||||
nmi_disable();
|
||||
break;
|
||||
}
|
||||
|
||||
printk(KERN_ALERT "Got NMI, but nobody cared. Disabling...\n");
|
||||
nmi_disable();
|
||||
nmi_exit();
|
||||
}
|
||||
|
||||
asmlinkage void do_critical_exception(unsigned long ecr, struct pt_regs *regs)
|
||||
|
|
Loading…
Reference in New Issue