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: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
@@ -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)
|
|||||||
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())
|
||||||
|
Reference in New Issue
Block a user