diff mbox series

[kvmtool,v2,1/4] x86: Set the correct srcbusirq of pci irq mptable

Message ID 20240907021321.30222-2-sidongli1997@gmail.com (mailing list archive)
State New, archived
Headers show
Series x86: Fixes issue with only one CPU available in kernel 6.9 | expand

Commit Message

Dongli Si Sept. 7, 2024, 2:13 a.m. UTC
The srcbusirq should be pci device number where the
interrupt originates.   Fix it.

Fixes: f83cd16 ("kvm tools: irq: replace the x86 irq rbtree with the PCI device tree")
Signed-off-by: Dongli Si <sidongli1997@gmail.com>
---
 x86/mptable.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/x86/mptable.c b/x86/mptable.c
index f13cf0f..f4753bd 100644
--- a/x86/mptable.c
+++ b/x86/mptable.c
@@ -180,7 +180,7 @@  int mptable__init(struct kvm *kvm)
 		unsigned char srcbusirq;
 		struct pci_device_header *pci_hdr = dev_hdr->data;
 
-		srcbusirq = (pci_hdr->subsys_id << 2) | (pci_hdr->irq_pin - 1);
+		srcbusirq = (dev_hdr->dev_num << 2) | (pci_hdr->irq_pin - 1);
 		mpc_intsrc = last_addr;
 		mptable_add_irq_src(mpc_intsrc, pcibusid, srcbusirq, ioapicid, pci_hdr->irq_line);