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

From: Grant Likely <[email-masked]>
Date: Thu, 03 Sep 2009 09:57:23 -0600

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]>
---

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);
 }