diff options
-rw-r--r-- | arch/metag/kernel/smp.c | 7 |
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 | */ |
520 | static int do_IPI(struct pt_regs *regs) | 520 | static 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) | |||
624 | static TBIRES ipi_handler(TBIRES State, int SigNum, int Triggers, | 621 | static 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 | } |