diff options
| author | Takashi Iwai <tiwai@suse.de> | 2012-08-20 21:26:04 +0200 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2012-08-20 21:26:04 +0200 |
| commit | f0b433e9f362e0b7f0ce7d1489dd7feba068605d (patch) | |
| tree | d4bfd9489cf4a96a55d83af20919f477a846d585 /kernel/panic.c | |
| parent | fa2f5bf09610d3c216d4c74855edbe00d636467c (diff) | |
| parent | 28c42c28309244d0b15d1b385e33429d59997679 (diff) | |
Merge tag 'asoc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Additional updates for 3.6
A batch more bugfixes, all driver-specific and fairly small and
unremarkable in a global context. The biggest batch are for the newly
added Arizona drivers.
Diffstat (limited to 'kernel/panic.c')
| -rw-r--r-- | kernel/panic.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/panic.c b/kernel/panic.c index d2a5f4ecc6dd..e1b2822fff97 100644 --- a/kernel/panic.c +++ b/kernel/panic.c @@ -75,6 +75,14 @@ void panic(const char *fmt, ...) int state = 0; /* + * Disable local interrupts. This will prevent panic_smp_self_stop + * from deadlocking the first cpu that invokes the panic, since + * there is nothing to prevent an interrupt handler (that runs + * after the panic_lock is acquired) from invoking panic again. + */ + local_irq_disable(); + + /* * It's possible to come here directly from a panic-assertion and * not have preempt disabled. Some functions called from here want * preempt to be disabled. No point enabling it later though... |
