From b1065edb66652ba682e8b4c3064c52ab2e4f7822 Mon Sep 17 00:00:00 2001 From: Gavin Shan Date: Fri, 26 May 2017 11:53:04 +1000 Subject: [PATCH] core/pci: Make the conditions for device type quirk obvious 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 Acked-by: Benjamin Herrenschmidt Signed-off-by: Stewart Smith --- core/pci.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/pci.c b/core/pci.c index c50b6c34e1d5..5dec7d6a5900 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, ®); 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; }