Subject: Re: [PATCH] powerpc: Fix i8259 interrupt driver kernel crash on ML510

From: Benjamin Herrenschmidt <[email-masked]>
Date: Fri, 04 Sep 2009 08:44:19 +1000

On Thu, 2009-09-03 at 09:57 -0600, Grant Likely wrote:
> From: Roderick Colenbrander <[email-masked]>
> 
> This patch fixes a null pointer exception caused by removal of
> 'ack()' for level interrupts in the Xilinx interrupt driver.  A recent
> change to the xilinx interrupt controller removed the ack hook for
> level irqs.
> 
> Signed-off-by: Roderick Colenbrander <[email-masked]>
> Signed-off-by: Grant Likely <[email-masked]>
> ---

Acked-by: Benjamin Herrenschmidt <[email-masked]>

My git trees aren't at hand, so Linus feel free to merge that directly.

Cheers,
Ben.

> 
> Hi Ben & Linus,
> 
> This is a last minute bug fix must go into 2.6.31.  This patch
> is needed to prevent a kernel panic on Xilinx ml510 boards.
> 
> I've also pushed the patch out to my git tree if you'd prefer to pull:
> 
> The following changes since commit 326ba5010a5429a5a528b268b36a5900d4ab0eba:
>   Linus Torvalds (1):
>         Linux 2.6.31-rc8
> 
> are available in the git repository at:
> 
>   git://git.secretlab.ca/git/linux-2.6 merge
> 
> Roderick Colenbrander (1):
>       powerpc: Fix i8259 interrupt driver kernel crash on ML510
> 
>  arch/powerpc/sysdev/xilinx_intc.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
> 
> 
> 
> diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c
> index 3ee1fd3..40edad5 100644
> --- a/arch/powerpc/sysdev/xilinx_intc.c
> +++ b/arch/powerpc/sysdev/xilinx_intc.c
> @@ -234,7 +234,6 @@ static void xilinx_i8259_cascade(unsigned int irq, struct irq_desc *desc)
>  		generic_handle_irq(cascade_irq);
>  
>  	/* Let xilinx_intc end the interrupt */
> -	desc->chip->ack(irq);
>  	desc->chip->unmask(irq);
>  }
>