diff options
Diffstat (limited to 'drivers/pci/access.c')
| -rw-r--r-- | drivers/pci/access.c | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/pci/access.c b/drivers/pci/access.c index 708c7529647f..3c230ca3de58 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c @@ -350,6 +350,11 @@ bool pcie_cap_has_lnkctl(const struct pci_dev *dev)  	       type == PCI_EXP_TYPE_PCIE_BRIDGE;  } +bool pcie_cap_has_lnkctl2(const struct pci_dev *dev) +{ +	return pcie_cap_has_lnkctl(dev) && pcie_cap_version(dev) > 1; +} +  static inline bool pcie_cap_has_sltctl(const struct pci_dev *dev)  {  	return pcie_downstream_port(dev) && @@ -390,10 +395,11 @@ static bool pcie_capability_reg_implemented(struct pci_dev *dev, int pos)  		return pcie_cap_has_rtctl(dev);  	case PCI_EXP_DEVCAP2:  	case PCI_EXP_DEVCTL2: +		return pcie_cap_version(dev) > 1;  	case PCI_EXP_LNKCAP2:  	case PCI_EXP_LNKCTL2:  	case PCI_EXP_LNKSTA2: -		return pcie_cap_version(dev) > 1; +		return pcie_cap_has_lnkctl2(dev);  	default:  		return false;  	}  | 
