Skip to content

Commit

Permalink
avr32: nmi_enter() without nmi_exit()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Manfred Spraul authored and Haavard Skinnemoen committed Sep 19, 2008
1 parent 73d4393 commit 3d431a7
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions arch/avr32/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 3d431a7

Please sign in to comment.