diff options
author | Jon Medhurst <tixy@linaro.org> | 2014-09-11 08:45:36 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2014-09-11 08:45:36 +0100 |
commit | 782e9eb40a7ba9814714c611dae784bccbf399cd (patch) | |
tree | 41872e9aa85a80a17ef1878761dd5a4e376a35f8 | |
parent | b25caa1a1b57874a2d351d0f7634f2cf6fe4a41f (diff) | |
parent | 8d532ba1e1a5811bead4577c0dfc6b5dc5b18607 (diff) |
Merge branch 'tracking-armlt-misc-fixes' into integration-linaro-vexpress
-rw-r--r-- | arch/arm/kernel/irq.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-vexpress/Kconfig | 1 |
2 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 2c4257604513..86ecca27bae4 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -167,11 +167,15 @@ static bool migrate_one_irq(struct irq_desc *desc) if (irqd_is_per_cpu(d) || !cpumask_test_cpu(smp_processor_id(), affinity)) return false; - if (cpumask_any_and(affinity, cpu_online_mask) >= nr_cpu_ids) { - affinity = cpu_online_mask; + if (cpumask_any_and(affinity, cpu_online_mask) >= nr_cpu_ids) ret = true; - } + /* + * when using forced irq_set_affinity we must ensure that the cpu + * being offlined is not present in the affinity mask, it may be + * selected as the target CPU otherwise + */ + affinity = cpu_online_mask; c = irq_data_get_irq_chip(d); if (!c->irq_set_affinity) pr_debug("IRQ%u: unable to set affinity\n", d->irq); diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index b2cfba16c4e8..1c41572cc95e 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig @@ -51,6 +51,7 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA config ARCH_VEXPRESS_CA9X4 bool "Versatile Express Cortex-A9x4 tile" + select ARM_ERRATA_643719 config ARCH_VEXPRESS_DCSCB bool "Dual Cluster System Control Block (DCSCB) support" |