Message ID | 20240819010154.13808-1-sidongli1997@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [kvmtool,1/4] x86: Set the correct srcbusirq of pci irq mptable | expand |
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);
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(-)