aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc
diff options
context:
space:
mode:
authorLEROY Christophe <christophe.leroy@c-s.fr>2013-04-18 01:26:11 -0400
committerScott Wood <scottwood@freescale.com>2013-07-01 19:38:32 -0400
commit7601f59765a48bef329a429101eabcb0e2503634 (patch)
treea2aaf32f43cda7428017f2fab62d3c5847e35ac4 /arch/powerpc
parent2dd1c132d5c22677843658f5736f0de1cdf57bc1 (diff)
powerpc/8xx: Erroneous double irq_eoi() on CPM IRQ in MPC8xx
irq_eoi() is already called by generic_handle_irq() so it shall not be called a again Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'arch/powerpc')
-rw-r--r--arch/powerpc/platforms/8xx/m8xx_setup.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index 806cbbd86ec6..587a2828b06c 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -219,19 +219,12 @@ void mpc8xx_restart(char *cmd)
219 219
220static void cpm_cascade(unsigned int irq, struct irq_desc *desc) 220static void cpm_cascade(unsigned int irq, struct irq_desc *desc)
221{ 221{
222 struct irq_chip *chip; 222 struct irq_chip *chip = irq_desc_get_chip(desc);
223 int cascade_irq; 223 int cascade_irq = cpm_get_irq();
224
225 if ((cascade_irq = cpm_get_irq()) >= 0) {
226 struct irq_desc *cdesc = irq_to_desc(cascade_irq);
227 224
225 if (cascade_irq >= 0)
228 generic_handle_irq(cascade_irq); 226 generic_handle_irq(cascade_irq);
229 227
230 chip = irq_desc_get_chip(cdesc);
231 chip->irq_eoi(&cdesc->irq_data);
232 }
233
234 chip = irq_desc_get_chip(desc);
235 chip->irq_eoi(&desc->irq_data); 228 chip->irq_eoi(&desc->irq_data);
236} 229}
237 230