[PATCH 3/3] powerpc: kdump: Use chip->shutdown to disable IRQs

Michael Ellerman michael at ellerman.id.au
Tue May 11 14:11:15 EST 2010


On Tue, 2010-05-11 at 12:27 +1000, Anton Blanchard wrote:
> I saw this in a kdump kernel:
> 
> IOMMU table initialized, virtual merging enabled
> Interrupt 155954 (real) is invalid, disabling it.
> Interrupt 155953 (real) is invalid, disabling it.
> 
> ie we took some spurious interrupts. 

OK, but it should have still worked OK?

> default_machine_crash_shutdown tries
> to disable all interrupt sources but uses chip->disable which maps to
> the default action of:
> 
> static void default_disable(unsigned int irq)
> {
> }
> 
> If we use chip->shutdown, then we actually mask the IRQ:
> 
> static void default_shutdown(unsigned int irq)
> {
>         struct irq_desc *desc = irq_to_desc(irq);
> 
>         desc->chip->mask(irq);
>         desc->status |= IRQ_MASKED;
> }
> 
> Not sure why we don't implement a ->disable action for xics.c, or why
> default_disable doesn't mask the interrupt.

It used to mask, see 76d21601, I knew that would bite us somewhere.

Not 100% sure about the change to use shutdown, but it's probably sane
and you've tested it so cool :)

cheers


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20100511/ff2cff2e/attachment.pgp>


More information about the Linuxppc-dev mailing list