Commit fdf7be6f13b920f0d80c249c70f794a2f6d53992
1 parent
4dc7347a3b
Exists in
master
and in
7 other branches
Revert "[WATCHDOG] hpwdt: Fix NMI handling."
The old setup works better. Signed-off-by: Thomas Mingarelli <Thomas.Mingarelli@hp.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Showing 1 changed file with 15 additions and 12 deletions Side-by-side Diff
drivers/watchdog/hpwdt.c
... | ... | @@ -418,20 +418,23 @@ |
418 | 418 | static unsigned long rom_pl; |
419 | 419 | static int die_nmi_called; |
420 | 420 | |
421 | - if (ulReason == DIE_NMI || ulReason == DIE_NMI_IPI) { | |
422 | - spin_lock_irqsave(&rom_lock, rom_pl); | |
423 | - if (!die_nmi_called) | |
424 | - asminline_call(&cmn_regs, cru_rom_addr); | |
425 | - die_nmi_called = 1; | |
426 | - spin_unlock_irqrestore(&rom_lock, rom_pl); | |
427 | - if (cmn_regs.u1.ral != 0) { | |
428 | - panic("An NMI occurred, please see the Integrated " | |
429 | - "Management Log for details.\n"); | |
430 | - } | |
421 | + if (ulReason != DIE_NMI && ulReason != DIE_NMI_IPI) | |
422 | + return NOTIFY_OK; | |
423 | + | |
424 | + spin_lock_irqsave(&rom_lock, rom_pl); | |
425 | + if (!die_nmi_called) | |
426 | + asminline_call(&cmn_regs, cru_rom_addr); | |
427 | + die_nmi_called = 1; | |
428 | + spin_unlock_irqrestore(&rom_lock, rom_pl); | |
429 | + if (cmn_regs.u1.ral == 0) { | |
430 | + printk(KERN_WARNING "hpwdt: An NMI occurred, " | |
431 | + "but unable to determine source.\n"); | |
432 | + } else { | |
433 | + panic("An NMI occurred, please see the Integrated " | |
434 | + "Management Log for details.\n"); | |
431 | 435 | } |
432 | 436 | |
433 | - die_nmi_called = 0; | |
434 | - return NOTIFY_DONE; | |
437 | + return NOTIFY_STOP; | |
435 | 438 | } |
436 | 439 | |
437 | 440 | /* |