]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
MIPS: BMIPS: Migrate interrupts during bmips_cpu_disable
authorFlorian Fainelli <f.fainelli@gmail.com>
Mon, 31 Oct 2016 21:17:36 +0000 (14:17 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Tue, 3 Jan 2017 15:34:40 +0000 (16:34 +0100)
While we properly disabled the per-CPU timer interrupt, we also need to
make sure that all interrupts that can possibly have this CPU in their
smp_affinity mask also have a chance to see this interrupt migrated to a
CPU not being taken offline.

[ralf@linux-mips.org: Fix merge conflict.]

Fixes: 230b6ff57552 ("MIPS: BMIPS: Mask off timer IRQs when hot-unplugging a CPU")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Cc: cernekee@gmail.com
Cc: jaedon.shin@gmail.com
Cc: justinpopo6@gmail.com
Cc: tglx@linutronix.de
Cc: marc.zyngier@arm.com
Cc: jason@lakedaemon.net
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/14488/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/smp-bmips.c

index f6700dc2fb09e4190e13fb65ad529d07bbd42e34..16e37a28f876cc0af5a6b5889d6ebedf9da02862 100644 (file)
@@ -364,6 +364,7 @@ static int bmips_cpu_disable(void)
 
        set_cpu_online(cpu, false);
        calculate_cpu_foreign_map();
+       irq_cpu_offline();
        clear_c0_status(IE_IRQ5);
 
        local_flush_tlb_all();