[Skiboot] [PATCH 1/3] core/pci: Make the conditions for device type quirk obvious

Gavin Shan gwshan at linux.vnet.ibm.com
Fri May 26 11:53:04 AEST 2017


The device type should be fixed to downstream port when it seats
behinds behind a upstream port, which is connected to root port
directly and its VDID is 0x874810b5.

This reorders the conditions to make it a bit obvious: parent,
parent's device type, device's VDID and device type in sequence.
No logicial changes.

Signed-off-by: Gavin Shan <gwshan at linux.vnet.ibm.com>
---
 core/pci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/core/pci.c b/core/pci.c
index d69eb28..7ec8409 100644
--- a/core/pci.c
+++ b/core/pci.c
@@ -171,9 +171,8 @@ static void pci_init_pcie_cap(struct phb *phb, struct pci_device *pd)
 	 */
 	pci_cfg_read16(phb, pd->bdfn, ecap + PCICAP_EXP_CAPABILITY_REG, &reg);
 	pd->dev_type = GETFIELD(PCICAP_EXP_CAP_TYPE, reg);
-	if (pd->parent && pd->dev_type == PCIE_TYPE_SWITCH_UPPORT &&
-	    pd->parent->dev_type == PCIE_TYPE_SWITCH_UPPORT &&
-	    pd->vdid == 0x874810b5) {
+	if (pd->parent && pd->parent->dev_type == PCIE_TYPE_SWITCH_UPPORT &&
+	    pd->vdid == 0x874810b5 && pd->dev_type == PCIE_TYPE_SWITCH_UPPORT) {
 		PCIDBG(phb, pd->bdfn, "Fixing up bad PLX downstream port !\n");
 		pd->dev_type = PCIE_TYPE_SWITCH_DNPORT;
 	}
-- 
2.7.4



More information about the Skiboot mailing list