From: Eugene Surovegin <ebs@ebshome.net>

This patch fixes bug in PPC4xx disable_irq implementation.  We need to ACK
parent UIC to prevent false triggering in case IRQ we just disabled was
already pending.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/ppc/syslib/ppc4xx_pic.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/ppc/syslib/ppc4xx_pic.c~ppc32-ppc4xx-pic-ack-parent-uic-in-disable_irq arch/ppc/syslib/ppc4xx_pic.c
--- 25/arch/ppc/syslib/ppc4xx_pic.c~ppc32-ppc4xx-pic-ack-parent-uic-in-disable_irq	Fri Feb 18 17:01:31 2005
+++ 25-akpm/arch/ppc/syslib/ppc4xx_pic.c	Fri Feb 18 17:01:31 2005
@@ -4,7 +4,7 @@
  * Interrupt controller driver for PowerPC 4xx-based processors.
  *
  * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
- * Copyright (c) 2004 Zultys Technologies
+ * Copyright (c) 2004, 2005 Zultys Technologies
  *
  * Based on original code by
  *    Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu>
@@ -49,6 +49,7 @@ static void ppc4xx_uic##n##_disable(unsi
 {									\
 	ppc_cached_irq_mask[n] &= ~IRQ_MASK_UIC##n(irq);		\
 	mtdcr(DCRN_UIC_ER(UIC##n), ppc_cached_irq_mask[n]);		\
+	ACK_UIC##n##_PARENT						\
 }									\
 									\
 static void ppc4xx_uic##n##_ack(unsigned int irq)			\
_