From 7ea529f8c1607aa5ba9983b1830937a773b55148 Mon Sep 17 00:00:00 2001 From: Eugene Surovegin Date: Sat, 16 Apr 2005 15:24:15 -0700 Subject: [PATCH] --- yaml --- r: 27 b: refs/heads/master c: 35b535d9cc8dce79c3b72f47c4417c3159d7a8c9 h: refs/heads/master i: 25: 1aeb68f31c86dbc8b0d2b3fde5067736ef27ddd5 23: ff2771779505d94376d620fab78db40f7c1bb240 v: v3 --- [refs] | 2 +- trunk/arch/ppc/syslib/ppc4xx_pic.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d22e2f9b31ae..6e56b56721c7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 16acbc624e2b7b750570cb672341d05a816051f4 +refs/heads/master: 35b535d9cc8dce79c3b72f47c4417c3159d7a8c9 diff --git a/trunk/arch/ppc/syslib/ppc4xx_pic.c b/trunk/arch/ppc/syslib/ppc4xx_pic.c index 08f06dd17e7b..05686fa73545 100644 --- a/trunk/arch/ppc/syslib/ppc4xx_pic.c +++ b/trunk/arch/ppc/syslib/ppc4xx_pic.c @@ -41,7 +41,10 @@ extern unsigned char ppc4xx_uic_ext_irq_cfg[] __attribute__ ((weak)); #define UIC_HANDLERS(n) \ static void ppc4xx_uic##n##_enable(unsigned int irq) \ { \ - ppc_cached_irq_mask[n] |= IRQ_MASK_UIC##n(irq); \ + u32 mask = IRQ_MASK_UIC##n(irq); \ + if (irq_desc[irq].status & IRQ_LEVEL) \ + mtdcr(DCRN_UIC_SR(UIC##n), mask); \ + ppc_cached_irq_mask[n] |= mask; \ mtdcr(DCRN_UIC_ER(UIC##n), ppc_cached_irq_mask[n]); \ } \ \