Commit 4e3a4e04 authored by Anton Blanchard's avatar Anton Blanchard

ppc64: fix misreporting of unhandled IRQs in xics IPI

parent 26fb218e
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <asm/xics.h> #include <asm/xics.h>
#include <asm/ppcdebug.h> #include <asm/ppcdebug.h>
#include <asm/hvcall.h> #include <asm/hvcall.h>
#include <asm/machdep.h>
#include "i8259.h" #include "i8259.h"
...@@ -322,11 +323,9 @@ extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned; ...@@ -322,11 +323,9 @@ extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;
irqreturn_t xics_ipi_action(int irq, void *dev_id, struct pt_regs *regs) irqreturn_t xics_ipi_action(int irq, void *dev_id, struct pt_regs *regs)
{ {
int cpu = smp_processor_id(); int cpu = smp_processor_id();
int handled = 0;
ops->qirr_info(cpu, 0xff); ops->qirr_info(cpu, 0xff);
while (xics_ipi_message[cpu].value) { while (xics_ipi_message[cpu].value) {
handled = 1;
if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION, if (test_and_clear_bit(PPC_MSG_CALL_FUNCTION,
&xics_ipi_message[cpu].value)) { &xics_ipi_message[cpu].value)) {
mb(); mb();
...@@ -352,7 +351,7 @@ irqreturn_t xics_ipi_action(int irq, void *dev_id, struct pt_regs *regs) ...@@ -352,7 +351,7 @@ irqreturn_t xics_ipi_action(int irq, void *dev_id, struct pt_regs *regs)
} }
#endif #endif
} }
return IRQ_RETVAL(handled); return IRQ_HANDLED;
} }
void xics_cause_IPI(int cpu) void xics_cause_IPI(int cpu)
......
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