diff options
-rw-r--r-- | arch/powerpc/kernel/eeh_cache.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/arch/powerpc/kernel/eeh_cache.c b/arch/powerpc/kernel/eeh_cache.c index a1e86e172e3c..ddbcfab7efdf 100644 --- a/arch/powerpc/kernel/eeh_cache.c +++ b/arch/powerpc/kernel/eeh_cache.c | |||
@@ -195,8 +195,11 @@ static void __eeh_addr_cache_insert_dev(struct pci_dev *dev) | |||
195 | return; | 195 | return; |
196 | } | 196 | } |
197 | 197 | ||
198 | /* Walk resources on this device, poke them into the tree */ | 198 | /* |
199 | for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { | 199 | * Walk resources on this device, poke the first 7 (6 normal BAR and 1 |
200 | * ROM BAR) into the tree. | ||
201 | */ | ||
202 | for (i = 0; i <= PCI_ROM_RESOURCE; i++) { | ||
200 | resource_size_t start = pci_resource_start(dev,i); | 203 | resource_size_t start = pci_resource_start(dev,i); |
201 | resource_size_t end = pci_resource_end(dev,i); | 204 | resource_size_t end = pci_resource_end(dev,i); |
202 | unsigned long flags = pci_resource_flags(dev,i); | 205 | unsigned long flags = pci_resource_flags(dev,i); |
@@ -222,10 +225,6 @@ void eeh_addr_cache_insert_dev(struct pci_dev *dev) | |||
222 | { | 225 | { |
223 | unsigned long flags; | 226 | unsigned long flags; |
224 | 227 | ||
225 | /* Ignore PCI bridges */ | ||
226 | if ((dev->class >> 16) == PCI_BASE_CLASS_BRIDGE) | ||
227 | return; | ||
228 | |||
229 | spin_lock_irqsave(&pci_io_addr_cache_root.piar_lock, flags); | 228 | spin_lock_irqsave(&pci_io_addr_cache_root.piar_lock, flags); |
230 | __eeh_addr_cache_insert_dev(dev); | 229 | __eeh_addr_cache_insert_dev(dev); |
231 | spin_unlock_irqrestore(&pci_io_addr_cache_root.piar_lock, flags); | 230 | spin_unlock_irqrestore(&pci_io_addr_cache_root.piar_lock, flags); |