diff options
author | Yury Polyanskiy <ypolyans@princeton.edu> | 2010-04-26 00:53:10 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-04-30 15:52:45 -0400 |
commit | ce384d83d00ee457c3931d3fdb9fa2c38e345a3c (patch) | |
tree | 9f2a8a21236f0a270118d393e893cdc4986d229b /arch/mips/sgi-ip22 | |
parent | fcf3ca4c3d6d911df8ee2b8f010ffe504d3aef71 (diff) |
MIPS: die() does not call die notifier chain
The MIPS implementation of die() forgets to call notify_die() and thus notifiers
registered via register_die_notifier() are not called. This results in kgdb not
being activated on exceptions.
The only subtlety is that notify_die declares its regs argument w/o const, so
the const had to be removed from mips die() as well.
[Ralf: Fixed build error for SGI IP22 and IP28 platforms.]
Signed-off-by: Yury Polyanskiy <ypolyans@princeton.edu>
Cc: linux-mips@linux-mips.org
Patchworks: http://patchwork.linux-mips.org/patch/1142/
Acked-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
---
Diffstat (limited to 'arch/mips/sgi-ip22')
-rw-r--r-- | arch/mips/sgi-ip22/ip22-berr.c | 2 | ||||
-rw-r--r-- | arch/mips/sgi-ip22/ip28-berr.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/arch/mips/sgi-ip22/ip22-berr.c b/arch/mips/sgi-ip22/ip22-berr.c index de6a0cc32fea..911d3999c0c7 100644 --- a/arch/mips/sgi-ip22/ip22-berr.c +++ b/arch/mips/sgi-ip22/ip22-berr.c | |||
@@ -89,7 +89,7 @@ static void print_buserr(void) | |||
89 | void ip22_be_interrupt(int irq) | 89 | void ip22_be_interrupt(int irq) |
90 | { | 90 | { |
91 | const int field = 2 * sizeof(unsigned long); | 91 | const int field = 2 * sizeof(unsigned long); |
92 | const struct pt_regs *regs = get_irq_regs(); | 92 | struct pt_regs *regs = get_irq_regs(); |
93 | 93 | ||
94 | save_and_clear_buserr(); | 94 | save_and_clear_buserr(); |
95 | print_buserr(); | 95 | print_buserr(); |
diff --git a/arch/mips/sgi-ip22/ip28-berr.c b/arch/mips/sgi-ip22/ip28-berr.c index 30e12e2ec4b5..88c684e05a3d 100644 --- a/arch/mips/sgi-ip22/ip28-berr.c +++ b/arch/mips/sgi-ip22/ip28-berr.c | |||
@@ -453,7 +453,7 @@ mips_be_fatal: | |||
453 | 453 | ||
454 | void ip22_be_interrupt(int irq) | 454 | void ip22_be_interrupt(int irq) |
455 | { | 455 | { |
456 | const struct pt_regs *regs = get_irq_regs(); | 456 | struct pt_regs *regs = get_irq_regs(); |
457 | 457 | ||
458 | count_be_interrupt++; | 458 | count_be_interrupt++; |
459 | 459 | ||