Bus and domain need to be checked as well, otherwise we might
get false positives when searching for multi-function devices.
---
 src/qemu/qemu_hotplug.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index a6c75cb..fb78af3 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1999,7 +1999,9 @@ static int qemuComparePCIDevice(virDomainDefPtr def 
ATTRIBUTE_UNUSED,
         info2->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI)
         return 0;
 
-    if (info1->addr.pci.slot == info2->addr.pci.slot &&
+    if (info1->addr.pci.domain == info2->addr.pci.domain &&
+        info1->addr.pci.bus == info2->addr.pci.bus &&
+        info1->addr.pci.slot == info2->addr.pci.slot &&
         info1->addr.pci.function != info2->addr.pci.function)
         return -1;
     return 0;
-- 
1.8.1.5

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to