public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* AVR32: nmi_enter() without nmi_exit()
@ 2008-08-20 13:39 Manfred Spraul
  2008-09-19 10:47 ` Haavard Skinnemoen
  0 siblings, 1 reply; 2+ messages in thread
From: Manfred Spraul @ 2008-08-20 13:39 UTC (permalink / raw)
  To: hskinnemoen; +Cc: Linux Kernel Mailing List

[-- Attachment #1: Type: text/plain, Size: 384 bytes --]

Hi Haavard,

You are listed as the maintainer for AVR32. If someone else is doing 
that now, could you forward the mail?

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.

Attached is a patch, not tested at all.

--
    Manfred

[-- Attachment #2: patch-avr32-nmi-exit --]
[-- Type: text/plain, Size: 614 bytes --]

diff --git a/arch/avr32/kernel/traps.c b/arch/avr32/kernel/traps.c
index b835c4c..c39cdfc 100644
--- a/arch/avr32/kernel/traps.c
+++ b/arch/avr32/kernel/traps.c
@@ -120,11 +120,11 @@ asmlinkage void do_nmi(unsigned long ecr, struct pt_regs *regs)
 	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)

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: AVR32: nmi_enter() without nmi_exit()
  2008-08-20 13:39 AVR32: nmi_enter() without nmi_exit() Manfred Spraul
@ 2008-09-19 10:47 ` Haavard Skinnemoen
  0 siblings, 0 replies; 2+ messages in thread
From: Haavard Skinnemoen @ 2008-09-19 10:47 UTC (permalink / raw)
  To: Manfred Spraul; +Cc: Linux Kernel Mailing List

Manfred Spraul <manfred@colorfullife.com> wrote:
> You are listed as the maintainer for AVR32. If someone else is doing 
> that now, could you forward the mail?
> 
> 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.
> 
> Attached is a patch, not tested at all.

Totally forgot about this, sorry.

Applied, thanks.

Haavard

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-09-19 10:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-20 13:39 AVR32: nmi_enter() without nmi_exit() Manfred Spraul
2008-09-19 10:47 ` Haavard Skinnemoen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox