Commit 2ef75701 authored by Russell King's avatar Russell King

ARM: CPU hotplug: fix abuse of irqdesc->node

irqdesc's node member is supposed to mark the numa node number for the
interrupt.  Our use of it is non-standard.  Remove this, replacing the
functionality with a test of the affinity mask.
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent cf6ace16
...@@ -189,7 +189,6 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val, ...@@ -189,7 +189,6 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val,
bit = 1 << (cpu + shift); bit = 1 << (cpu + shift);
spin_lock(&irq_controller_lock); spin_lock(&irq_controller_lock);
d->node = cpu;
val = readl_relaxed(reg) & ~mask; val = readl_relaxed(reg) & ~mask;
writel_relaxed(val | bit, reg); writel_relaxed(val | bit, reg);
spin_unlock(&irq_controller_lock); spin_unlock(&irq_controller_lock);
......
...@@ -166,15 +166,9 @@ void migrate_irqs(void) ...@@ -166,15 +166,9 @@ void migrate_irqs(void)
bool affinity_broken = false; bool affinity_broken = false;
raw_spin_lock(&desc->lock); raw_spin_lock(&desc->lock);
do { if (desc->action != NULL &&
if (desc->action == NULL) cpumask_test_cpu(smp_processor_id(), d->affinity))
break;
if (d->node != cpu)
break;
affinity_broken = migrate_one_irq(d); affinity_broken = migrate_one_irq(d);
} while (0);
raw_spin_unlock(&desc->lock); raw_spin_unlock(&desc->lock);
if (affinity_broken && printk_ratelimit()) if (affinity_broken && printk_ratelimit())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment