]> xenbits.xensource.com Git - qemu-xen-4.2-testing.git/commitdiff
pass-through: non-idempotent __insert_to_pci_slot()
authorIan Jackson <ian.jackson@eu.citrix.com>
Wed, 3 Jun 2009 14:38:45 +0000 (15:38 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Wed, 3 Jun 2009 14:38:45 +0000 (15:38 +0100)
As of "qemu-xen: hot-plug PCI devices at boot-time" register_real_dev()
no longer needs to call __insert_to_pci_slot() and thus there
is no need for __insert_to_pci_slot() to be idempotent.

This is because register_real_dev()'s now only has one caller,
power_on_php_slot(), which always  passes a valid e_slot to
register_real_dev().

Cc: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Cc: Edwin Zhai <edwin.zhai@intel.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
hw/pass-through.c

index a5b34ffcf1215e3605f46bc503f813f72864e674..cf04924a67e3abee9ede0596713a34b40c5a114f 100644 (file)
@@ -917,9 +917,6 @@ static int __insert_to_pci_slot(int bus, int dev, int func, int slot,
         if ( !test_pci_slot(slot) &&
              !pci_devfn_in_use(e_bus, PCI_DEVFN(slot, 0)) )
             goto found;
-        if ( pci_slot_match(bus, dev, func, slot) )
-            /* The slot is already here, just return */
-            return slot;
         return -2;
     }
 
@@ -3987,12 +3984,6 @@ static struct pt_dev * register_real_device(PCIBus *e_bus,
     pci_fill_info(pci_dev, PCI_FILL_IRQ | PCI_FILL_BASES | PCI_FILL_ROM_BASE | PCI_FILL_SIZES);
     pt_libpci_fixup(pci_dev);
 
-    e_slot = __insert_to_pci_slot(r_bus, r_dev, r_func, e_slot, NULL);
-    if ( e_slot < 0 ) {
-        PT_LOG("Error: no free virtual PCI slot\n");
-        return NULL;
-    }
-
     msi_translate = direct_pci_msitranslate;
     power_mgmt = direct_pci_power_mgmt;
     while (opt) {