summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2020-04-10 13:11:39 +0200
committerMarc Zyngier <maz@kernel.org>2020-04-16 11:28:34 +0200
commit4b2dfe1e7799d0e20b55711dfcc45d2ad35ff46e (patch)
tree13899ae502a157fb61631b69990fc5708d15d418
parentirqchip/gic-v4.1: Add support for VPENDBASER's Dirty+Valid signaling (diff)
downloadlinux-4b2dfe1e7799d0e20b55711dfcc45d2ad35ff46e.tar.xz
linux-4b2dfe1e7799d0e20b55711dfcc45d2ad35ff46e.zip
irqchip/gic-v4.1: Update effective affinity of virtual SGIs
Although the vSGIs are not directly visible to the host, they still get moved around by the CPU hotplug, for example. This results in the kernel moaning on the console, such as: genirq: irq_chip GICv4.1-sgi did not update eff. affinity mask of irq 38 Updating the effective affinity on set_affinity() fixes it. Reviewed-by: Zenghui Yu <yuzenghui@huawei.com> Signed-off-by: Marc Zyngier <maz@kernel.org>
-rw-r--r--drivers/irqchip/irq-gic-v3-its.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index affd325cc3d4..124251b0ccba 100644
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
@@ -4054,6 +4054,7 @@ static int its_sgi_set_affinity(struct irq_data *d,
* not on the host (since they can only be targetting a vPE).
* Tell the kernel we've done whatever it asked for.
*/
+ irq_data_update_effective_affinity(d, mask_val);
return IRQ_SET_MASK_OK;
}