Hi All, I have developed support for a PCIE host controller on linux platform for an SOC. It works well with PCIE devices (e.g.usb3.0 card, ethernet card, pcie to sata )from various vendors. However, I am having problem in using any card where device is connected below a bridge (class 0x0604). What ever bus number is programmed , cfg register value are from bridge only not of downstream device. Here is the boot log: There are two RC in the system. A device(PCIE bridge ) is connceted at 2nd RC. Its primary bus number is 3. Seconday is programmed by kernel as 4. But when cfg regs at bus4 is read, it returns cfg value of bridge not of device conneted below bridge. IS there any clue, what is going wrong here? this is part of kernel boot log: pci 0000:00:00.0: PME# supported from D0 D1 D3hot pci 0000:00:00.0: PME# disabled PCI: bus0: Fast back to back transfers disabled PCI: bus1: Fast back to back transfers enabled pci 0000:02:00.0: PME# supported from D0 D1 D3hot pci 0000:02:00.0: PME# disabled PCI: bus2: Fast back to back transfers disabled pci 0000:03:00.0: PME# supported from D0 D3hot D3cold pci 0000:03:00.0: PME# disabled PCI: bus3: Fast back to back transfers disabled pci 0000:04:00.0: PME# supported from D0 D3hot D3cold pci 0000:04:00.0: PME# disabled pci 0000:04:01.0: PME# supported from D0 D3hot D3cold pci 0000:04:01.0: PME# disabled pci 0000:04:02.0: PME# supported from D0 D3hot D3cold pci 0000:04:02.0: PME# disabled pci 0000:04:03.0: PME# supported from D0 D3hot D3cold pci 0000:04:03.0: PME# disabled pci 0000:04:04.0: PME# supported from D0 D3hot D3cold pci 0000:04:04.0: PME# disabled pci 0000:04:05.0: PME# supported from D0 D3hot D3cold pci 0000:04:05.0: PME# disabled pci 0000:04:06.0: PME# supported from D0 D3hot D3cold .. ... Regards Pratyush -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html