Message ID | 20100511154108.11546.12066.stgit@muvarov (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 426b6cb478e60352a463a0d1ec75c1c9fab30b13 |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
Hi, > diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c > index 6f4613d..341d8af 100644 > --- a/arch/powerpc/kernel/crash.c > +++ b/arch/powerpc/kernel/crash.c > @@ -375,6 +375,9 @@ void default_machine_crash_shutdown(struct pt_regs *regs) > for_each_irq(i) { > struct irq_desc *desc = irq_to_desc(i); > > + if (!desc || !desc->chip || !desc->chip->eoi) > + continue; > + Kinda unlikely that desc can be NULL here :) ~Vitaly
On Tue, 2010-05-11 at 18:02 +0200, Vitaly Wool wrote: > Hi, > > > diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c > > index 6f4613d..341d8af 100644 > > --- a/arch/powerpc/kernel/crash.c > > +++ b/arch/powerpc/kernel/crash.c > > @@ -375,6 +375,9 @@ void default_machine_crash_shutdown(struct pt_regs *regs) > > for_each_irq(i) { > > struct irq_desc *desc = irq_to_desc(i); > > > > + if (!desc || !desc->chip || !desc->chip->eoi) > > + continue; > > + Actually almost certain that desc will be NULL. When CONFIG_SPARSE_IRQ=y (the default), irq_desc's are allocated lazily. cheers
diff --git a/arch/powerpc/kernel/crash.c b/arch/powerpc/kernel/crash.c index 6f4613d..341d8af 100644 --- a/arch/powerpc/kernel/crash.c +++ b/arch/powerpc/kernel/crash.c @@ -375,6 +375,9 @@ void default_machine_crash_shutdown(struct pt_regs *regs) for_each_irq(i) { struct irq_desc *desc = irq_to_desc(i); + if (!desc || !desc->chip || !desc->chip->eoi) + continue; + if (desc->status & IRQ_INPROGRESS) desc->chip->eoi(i);