[tip: irq/urgent] irqchip/gic-v4.1: Update effective affinity of virtual SGIs

From: tip-bot2 for Marc Zyngier
Date: Fri Apr 17 2020 - 05:57:05 EST


The following commit has been merged into the irq/urgent branch of tip:

Commit-ID: 4b2dfe1e7799d0e20b55711dfcc45d2ad35ff46e
Gitweb: https://git.kernel.org/tip/4b2dfe1e7799d0e20b55711dfcc45d2ad35ff46e
Author: Marc Zyngier <maz@xxxxxxxxxx>
AuthorDate: Fri, 10 Apr 2020 12:11:39 +01:00
Committer: Marc Zyngier <maz@xxxxxxxxxx>
CommitterDate: Thu, 16 Apr 2020 10:28:34 +01:00

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@xxxxxxxxxx>
Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
---
drivers/irqchip/irq-gic-v3-its.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-gic-v3-its.c b/drivers/irqchip/irq-gic-v3-its.c
index affd325..124251b 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;
}