Skip to content

Commit 3be9d24

Browse files
paliLorenzo Pieralisi
authored andcommitted
PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device
Since all PCI Express device Functions are required to implement the PCI Express Capability structure, Capabilities List bit in PCI Status Register must be hardwired to 1b. Capabilities Pointer register (which is already set by pci-bride-emul.c driver) is valid only when Capabilities List is set to 1b. Link: https://lore.kernel.org/r/[email protected] Fixes: 23a5fba ("PCI: Introduce PCI bridge emulated config space common logic") Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Lorenzo Pieralisi <[email protected]> Cc: [email protected]
1 parent 1f1050c commit 3be9d24

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

drivers/pci/pci-bridge-emul.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,7 @@ int pci_bridge_emul_init(struct pci_bridge_emul *bridge,
296296

297297
if (bridge->has_pcie) {
298298
bridge->conf.capabilities_pointer = PCI_CAP_PCIE_START;
299+
bridge->conf.status |= cpu_to_le16(PCI_STATUS_CAP_LIST);
299300
bridge->pcie_conf.cap_id = PCI_CAP_ID_EXP;
300301
bridge->pcie_conf.cap |= cpu_to_le16(PCI_EXP_TYPE_ROOT_PORT << 4);
301302
bridge->pcie_cap_regs_behavior =

0 commit comments

Comments
 (0)