]> git.baikalelectronics.ru Git - kernel.git/commit
irq-metag*: stop set_affinity vectoring to offline cpus
authorJames Hogan <james.hogan@imgtec.com>
Tue, 25 Feb 2014 22:05:35 +0000 (22:05 +0000)
committerJames Hogan <james.hogan@imgtec.com>
Tue, 25 Feb 2014 22:35:06 +0000 (22:35 +0000)
commit4addedfe7826203f3df0a5e5c3284ed2f6d988f6
tree2c255147f33bdde95fe16d56ccda2343446d6883
parent4c4bd299ab09d3b524f486235d53d6361159a51b
irq-metag*: stop set_affinity vectoring to offline cpus

Fix irq_set_affinity callbacks in the Meta IRQ chip drivers to AND
cpu_online_mask into the cpumask when picking a CPU to vector the
interrupt to.

As Thomas pointed out, the /proc/irq/$N/smp_affinity interface doesn't
filter out offline CPUs, so without this patch if you offline CPU0 and
set an IRQ affinity to 0x3 it vectors the interrupt onto CPU0 even
though it is offline.

Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-metag@vger.kernel.org
Cc: stable@vger.kernel.org
drivers/irqchip/irq-metag-ext.c
drivers/irqchip/irq-metag.c