Commit dc10b3c9 authored by Eugene Surovegin's avatar Eugene Surovegin Committed by Linus Torvalds

[PATCH] ppc32: PPC4xx PIC: ack parent UIC in disable_irq

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: default avatarEugene Surovegin <ebs@ebshome.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent b6e281b7
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Interrupt controller driver for PowerPC 4xx-based processors. * Interrupt controller driver for PowerPC 4xx-based processors.
* *
* Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> * 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 * Based on original code by
* Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu> * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu>
...@@ -49,6 +49,7 @@ static void ppc4xx_uic##n##_disable(unsigned int irq) \ ...@@ -49,6 +49,7 @@ static void ppc4xx_uic##n##_disable(unsigned int irq) \
{ \ { \
ppc_cached_irq_mask[n] &= ~IRQ_MASK_UIC##n(irq); \ ppc_cached_irq_mask[n] &= ~IRQ_MASK_UIC##n(irq); \
mtdcr(DCRN_UIC_ER(UIC##n), ppc_cached_irq_mask[n]); \ mtdcr(DCRN_UIC_ER(UIC##n), ppc_cached_irq_mask[n]); \
ACK_UIC##n##_PARENT \
} \ } \
\ \
static void ppc4xx_uic##n##_ack(unsigned int irq) \ static void ppc4xx_uic##n##_ack(unsigned int irq) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment