PCI: Cannot allocate resource region 7 of bridge 0000:00:04.0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I get these messages with 2.6.18-rc4 on i386:

        PCI: Cannot allocate resource region 7 of bridge 0000:00:04.0
        PCI: Cannot allocate resource region 8 of bridge 0000:00:04.0
        PCI: Cannot allocate resource region 9 of bridge 0000:00:04.0
        PCI: Cannot allocate resource region 7 of bridge 0000:00:05.0
        PCI: Cannot allocate resource region 8 of bridge 0000:00:05.0


For these PCI bridges:

00:04.0 PCI bridge: ATI Technologies Inc Unknown device 5a36 (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=02, subordinate=03, sec-latency=0
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Root Port (Slot-) IRQ 0
        Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
        Capabilities: [b0] #0d [0000]
        Capabilities: [b8] HyperTransport: MSI Mapping
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel

00:05.0 PCI bridge: ATI Technologies Inc Unknown device 5a37 (prog-if 00 [Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=04, subordinate=05, sec-latency=0
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Root Port (Slot-) IRQ 0
        Capabilities: [80] Message Signalled Interrupts: 64bit- Queue=0/0 Enable+
        Capabilities: [b0] #0d [0000]
        Capabilities: [b8] HyperTransport: MSI Mapping
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel


Adding some debug:

--- 2.6.18-rc4-32.orig/arch/i386/pci/i386.c
+++ 2.6.18-rc4-32/arch/i386/pci/i386.c
@@ -100,6 +100,7 @@
        struct pci_dev *dev;
        int idx;
        struct resource *r, *pr;
+       int ret;

        /* Depth-First Search on bus tree */
        list_for_each_entry(bus, bus_list, node) {
@@ -109,8 +110,10 @@
                                if (!r->flags)
                                        continue;
                                pr = pci_find_parent_resource(dev, r);
-                               if (!r->start || !pr || request_resource(pr, r) < 0) {
+                               ret = 0;
+                               if (!r->start || !pr || (ret = request_resource(pr, r)) < 0) {
                                        printk(KERN_ERR "PCI: Cannot allocate resource region %d of bridge %s\n", idx, pci_name(dev));
+                                       printk(KERN_ERR "PCI: start = %p, parent = %p, ret = %d\n", r->start, pr, ret);
                                        /* Something is wrong with the region.
                                           Invalidate the resource to prevent child
                                           resource allocations in this range. */


r->start is zero in every case.


Some PCI debug messages for one bridge:

 PCI: Using MMCONFIG
 ...
 PCI: Scanning behind PCI bridge 0000:00:04.0, config 030200, pass 0
 PCI: Scanning bus 0000:02
 PCI: Fixups for bus 0000:02
 PCI: Bus scan for 0000:02 returning with max=02
 ...
 PCI: Scanning behind PCI bridge 0000:00:04.0, config 030200, pass 1
 ...
 PCI: Bridge: 0000:00:04.0
   IO window: disabled.
   MEM window: disabled.
   PREFETCH window: disabled.
 ...
 PCI: Enabling bus mastering for device 0000:00:04.0
 PCI: Setting latency timer of device 0000:00:04.0 to 64
 ...
 PCI: Setting latency timer of device 0000:00:04.0 to 64
 pcie_portdrv_probe->Dev[5a36:1002] has invalid IRQ. Check vendor BIOS
 assign_interrupt_mode Found MSI capability
 Allocate Port Service[0000:00:04.0:pcie00]
 PM: Adding info for pci_express:0000:00:04.0:pcie00
 Allocate Port Service[0000:00:04.0:pcie01]
 PM: Adding info for pci_express:0000:00:04.0:pcie01
 Allocate Port Service[0000:00:04.0:pcie03]
 PM: Adding info for pci_express:0000:00:04.0:pcie03

It says (twice) it is setting latency timer to 64 yet lspci says it's zero.

I tried pci=nobios.  What else should I try?

-- 
Chuck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux