[PATCH] powerpc/ipic: unmask all interrupt sources
Kumar Gala
galak at kernel.crashing.org
Fri Aug 7 12:26:48 EST 2009
On Aug 5, 2009, at 2:41 PM, Sebastian Andrzej Siewior wrote:
> in case the interrupt controller was used in an earlier life then it
> is
> possible it is that some of its sources were used and are still
> unmask.
> If the (unmasked) device is active and is creating interrupts (or one
> interrupts was pending since the interrupts were disabled) then the
> boot
> process "ends" very soon. Once external interrupts are enabled, we
> land in
> -> do_IRQ
> -> call ppc_md.get_irq()
> -> ipic_read() gets the source number
> -> irq_linear_revmap(source)
> -> revmap[source] == NO_IRQ
> -> irq_find_mapping(source) returns NO_IRQ because no source
> is registered
> -> source is NO_IRQ, ppc_spurious_interrupts gets incremented, no
> further action.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy at linutronix.de>
> ---
> This solves my kexec problem I had earlier. I could disable the device
> in ->shutdown path but the device in question could been used in the
> boot loader. Usually one gets the "nobody cared" message for unhandled
> interrupts but in this (rare) case nothing happens and box stands
> still.
>
> arch/powerpc/sysdev/ipic.c | 3 +++
> 1 files changed, 3 insertions(+), 0 deletions(-)
applied to next
- k
More information about the Linuxppc-dev
mailing list