aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/metag/kernel/smp.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/arch/metag/kernel/smp.c b/arch/metag/kernel/smp.c
index 7c0113142981..177ffb408c5a 100644
--- a/arch/metag/kernel/smp.c
+++ b/arch/metag/kernel/smp.c
@@ -517,11 +517,10 @@ static DEFINE_SPINLOCK(stop_lock);
517 * 517 *
518 * Bit 0 - Inter-processor function call 518 * Bit 0 - Inter-processor function call
519 */ 519 */
520static int do_IPI(struct pt_regs *regs) 520static int do_IPI(void)
521{ 521{
522 unsigned int cpu = smp_processor_id(); 522 unsigned int cpu = smp_processor_id();
523 struct ipi_data *ipi = &per_cpu(ipi_data, cpu); 523 struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
524 struct pt_regs *old_regs = set_irq_regs(regs);
525 unsigned long msgs, nextmsg; 524 unsigned long msgs, nextmsg;
526 int handled = 0; 525 int handled = 0;
527 526
@@ -557,8 +556,6 @@ static int do_IPI(struct pt_regs *regs)
557 } 556 }
558 } 557 }
559 558
560 set_irq_regs(old_regs);
561
562 return handled; 559 return handled;
563} 560}
564 561
@@ -624,7 +621,7 @@ static void kick_raise_softirq(cpumask_t callmap, unsigned int irq)
624static TBIRES ipi_handler(TBIRES State, int SigNum, int Triggers, 621static TBIRES ipi_handler(TBIRES State, int SigNum, int Triggers,
625 int Inst, PTBI pTBI, int *handled) 622 int Inst, PTBI pTBI, int *handled)
626{ 623{
627 *handled = do_IPI((struct pt_regs *)State.Sig.pCtx); 624 *handled = do_IPI();
628 625
629 return State; 626 return State;
630} 627}