aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/pci/vmd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c
index e785907acb79..57058520f219 100644
--- a/arch/x86/pci/vmd.c
+++ b/arch/x86/pci/vmd.c
@@ -218,6 +218,8 @@ static void vmd_msi_free(struct irq_domain *domain,
218 struct vmd_irq *vmdirq = irq_get_chip_data(virq); 218 struct vmd_irq *vmdirq = irq_get_chip_data(virq);
219 unsigned long flags; 219 unsigned long flags;
220 220
221 synchronize_rcu();
222
221 /* XXX: Potential optimization to rebalance */ 223 /* XXX: Potential optimization to rebalance */
222 raw_spin_lock_irqsave(&list_lock, flags); 224 raw_spin_lock_irqsave(&list_lock, flags);
223 vmdirq->irq->count--; 225 vmdirq->irq->count--;