diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-04-30 16:38:11 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-05-02 06:04:30 -0400 |
commit | 5cddd2e355d0df400782dae80722945c8197b1c5 (patch) | |
tree | b920ea2a7e1c8b57d6c6900699fbef0edfd0c187 | |
parent | 0f21712df1cbf21d35da8287331d64ff75ca7b01 (diff) |
[POWERPC] Fix spurious vectors on weird MPIC
The weird TSI 10x MPIC needs an EOI after getting a spurious vector. This
patch uses the existing MPIC_SPV_EOI flag to fix this issue.
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/sysdev/mpic.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c index 0b84b7c775d8..57b1208ef1c3 100644 --- a/arch/powerpc/sysdev/mpic.c +++ b/arch/powerpc/sysdev/mpic.c | |||
@@ -1333,8 +1333,11 @@ unsigned int mpic_get_one_irq(struct mpic *mpic) | |||
1333 | #ifdef DEBUG_LOW | 1333 | #ifdef DEBUG_LOW |
1334 | DBG("%s: get_one_irq(): %d\n", mpic->name, src); | 1334 | DBG("%s: get_one_irq(): %d\n", mpic->name, src); |
1335 | #endif | 1335 | #endif |
1336 | if (unlikely(src == mpic->spurious_vec)) | 1336 | if (unlikely(src == mpic->spurious_vec)) { |
1337 | if (mpic->flags & MPIC_SPV_EOI) | ||
1338 | mpic_eoi(mpic); | ||
1337 | return NO_IRQ; | 1339 | return NO_IRQ; |
1340 | } | ||
1338 | return irq_linear_revmap(mpic->irqhost, src); | 1341 | return irq_linear_revmap(mpic->irqhost, src); |
1339 | } | 1342 | } |
1340 | 1343 | ||