|
@@ -225,6 +225,10 @@ void pci_addr_cache_insert_device(struct pci_dev *dev)
|
|
|
{
|
|
|
unsigned long flags;
|
|
|
|
|
|
+ /* Ignore PCI bridges */
|
|
|
+ if ((dev->class >> 16) == PCI_BASE_CLASS_BRIDGE)
|
|
|
+ return;
|
|
|
+
|
|
|
spin_lock_irqsave(&pci_io_addr_cache_root.piar_lock, flags);
|
|
|
__pci_addr_cache_insert_device(dev);
|
|
|
spin_unlock_irqrestore(&pci_io_addr_cache_root.piar_lock, flags);
|
|
@@ -285,16 +289,13 @@ void __init pci_addr_cache_build(void)
|
|
|
spin_lock_init(&pci_io_addr_cache_root.piar_lock);
|
|
|
|
|
|
while ((dev = pci_get_device(PCI_ANY_ID, PCI_ANY_ID, dev)) != NULL) {
|
|
|
- /* Ignore PCI bridges */
|
|
|
- if ((dev->class >> 16) == PCI_BASE_CLASS_BRIDGE)
|
|
|
- continue;
|
|
|
|
|
|
pci_addr_cache_insert_device(dev);
|
|
|
|
|
|
dn = pci_device_to_OF_node(dev);
|
|
|
if (!dn)
|
|
|
continue;
|
|
|
- pci_dev_get (dev); /* matching put is in eeh_remove_device() */
|
|
|
+ pci_dev_get(dev); /* matching put is in eeh_remove_device() */
|
|
|
PCI_DN(dn)->pcidev = dev;
|
|
|
|
|
|
eeh_sysfs_add_device(dev);
|