diff options
| author | Marc Zyngier <maz@kernel.org> | 2025-12-05 09:18:14 +0000 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2025-12-10 09:47:33 +0900 |
| commit | 89acaa5537a29c742d7a6ed7241fc4cf5e2ef818 (patch) | |
| tree | ee8124e97a2daf47162569190271661250df4b52 | |
| parent | cb015814f8b6eebcbb8e46e111d108892c5e6821 (diff) | |
| download | tip-89acaa5537a29c742d7a6ed7241fc4cf5e2ef818.tar.gz | |
genirq: Allow NULL affinity for setup_percpu_irq()
setup_percpu_irq() was forgotten when the percpu_devid infrastructure was
updated to deal with CPU affinities.
In order to keep ignoring users of this legacy API, provide sensible
defaults by setting the affinity to cpu_online_mask if none was provided by
the caller.
Fixes: bdf4e2ac295fe ("genirq: Allow per-cpu interrupt sharing for non-overlapping affinities")
Reported-by: Daniel Thompson <danielt@kernel.org>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251205091814.3944205-1-maz@kernel.org
Closes: https://lore.kernel.org/r/aTFozefMQRg7lYxh@aspen.lan
| -rw-r--r-- | kernel/irq/manage.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 0bb29316b4362c..8b1b4c8a4f54c5 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -2470,6 +2470,9 @@ int setup_percpu_irq(unsigned int irq, struct irqaction *act) if (retval < 0) return retval; + if (!act->affinity) + act->affinity = cpu_online_mask; + retval = __setup_irq(irq, desc, act); if (retval) |
