The ls-scfs-msi driver is not dealing with the effective affinity
as it should. Let's fix that, and make it clear that the effective
affinity is restricted to a single CPU.

Reported-by: Alexandre Belloni <[email protected]>
Signed-off-by: Marc Zyngier <[email protected]>
---
 drivers/irqchip/irq-ls-scfg-msi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/irqchip/irq-ls-scfg-msi.c 
b/drivers/irqchip/irq-ls-scfg-msi.c
index 1ec3bfe56693..2811cc53e425 100644
--- a/drivers/irqchip/irq-ls-scfg-msi.c
+++ b/drivers/irqchip/irq-ls-scfg-msi.c
@@ -121,7 +121,8 @@ static int ls_scfg_msi_set_affinity(struct irq_data 
*irq_data,
                return -EINVAL;
        }
 
-       cpumask_copy(irq_data->common->affinity, mask);
+       cpumask_copy(irq_data->common->affinity, cpumask_of(cpu));
+       irq_data_update_effective_affinity(irq_data, cpumask_of(cpu));
 
        return IRQ_SET_MASK_OK;
 }
-- 
2.17.1

Reply via email to