aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2025-08-09 08:39:05 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2025-08-09 08:39:05 +0300
commit25046d5b005bddb927182df9780ef2e99bc19535 (patch)
treeddad0d46c1a03908609ed3b286f8f1cfe99a604d
parentMerge tag 'mailbox-v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox (diff)
parentPCI: vmd: Fix wrong kfree() in vmd_msi_free() (diff)
downloadwireguard-linux-25046d5b005bddb927182df9780ef2e99bc19535.tar.xz
wireguard-linux-25046d5b005bddb927182df9780ef2e99bc19535.zip
Merge tag 'pci-v6.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull pci fix from Bjorn Helgaas: - Fix vmd MSI interrupt domain restructure that caused crash early in boot (Nam Cao) * tag 'pci-v6.17-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: PCI: vmd: Fix wrong kfree() in vmd_msi_free()
-rw-r--r--drivers/pci/controller/vmd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
index 9bbb0ff4cc15..b679c7f28f51 100644
--- a/drivers/pci/controller/vmd.c
+++ b/drivers/pci/controller/vmd.c
@@ -280,10 +280,12 @@ static int vmd_msi_alloc(struct irq_domain *domain, unsigned int virq,
static void vmd_msi_free(struct irq_domain *domain, unsigned int virq,
unsigned int nr_irqs)
{
+ struct irq_data *irq_data;
struct vmd_irq *vmdirq;
for (int i = 0; i < nr_irqs; ++i) {
- vmdirq = irq_get_chip_data(virq + i);
+ irq_data = irq_domain_get_irq_data(domain, virq + i);
+ vmdirq = irq_data->chip_data;
synchronize_srcu(&vmdirq->irq->srcu);