diff options
-rw-r--r-- | arch/x86/pci/vmd.c | 2 |
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--; |