mvebu: backport a kernel irq fix for setting IRQ affinity

The IRQ controller can only set the affinity to a single CPU. Update the
mask in the controller data.

Suggested-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
v19.07.3_mercusys_ac12_duma
Felix Fietkau 7 years ago
parent d91494eedf
commit 31691f9649

@ -0,0 +1,17 @@
Backport a change that updates the effective affinity mask. The Armada IRQ
controller only supports setting the affinity to a single CPU, and the IRQ
subsystem needs to know about that.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -251,6 +251,8 @@ static int armada_xp_set_affinity(struct
writel(reg, main_int_base + ARMADA_370_XP_INT_SOURCE_CTL(hwirq));
raw_spin_unlock(&irq_controller_lock);
+ cpumask_copy(irq_data_get_affinity_mask(d), cpumask_of(cpu));
+
return IRQ_SET_MASK_OK;
}
#endif
Loading…
Cancel
Save