Andrew, 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 at ebshome.net> -------------- next part -------------- diff -Nru a/arch/ppc/syslib/ppc4xx_pic.c b/arch/ppc/syslib/ppc4xx_pic.c --- a/arch/ppc/syslib/ppc4xx_pic.c 2005-02-18 12:12:54 -08:00 +++ b/arch/ppc/syslib/ppc4xx_pic.c 2005-02-18 12:12:54 -08:00 @@ -4,7 +4,7 @@ * Interrupt controller driver for PowerPC 4xx-based processors. * * Eugene Surovegin <eugene.surovegin at zultys.com> or <ebs at ebshome.net> - * Copyright (c) 2004 Zultys Technologies + * Copyright (c) 2004, 2005 Zultys Technologies * * Based on original code by * Copyright (c) 1999 Grant Erickson <grant at lcse.umn.edu> @@ -49,6 +49,7 @@ { \ 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) \