diff options
author | LEROY Christophe <christophe.leroy@c-s.fr> | 2013-04-18 01:26:11 -0400 |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2013-07-01 19:38:32 -0400 |
commit | 7601f59765a48bef329a429101eabcb0e2503634 (patch) | |
tree | a2aaf32f43cda7428017f2fab62d3c5847e35ac4 /arch/powerpc | |
parent | 2dd1c132d5c22677843658f5736f0de1cdf57bc1 (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.c | 13 |
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 | ||
220 | static void cpm_cascade(unsigned int irq, struct irq_desc *desc) | 220 | static 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 | ||