From: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx> The num-lanes is optional, so probably it isn't added on some platforms. The subsequent programming is base on the num-lanes, hence return when it is not found. Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@xxxxxxx> Reviewed-by: Andrew Murray <andrew.murray@xxxxxxx> --- V2: - No change. drivers/pci/controller/dwc/pcie-designware.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/pci/controller/dwc/pcie-designware.c b/drivers/pci/controller/dwc/pcie-designware.c index 7d25102c304c..0a89bfd1636e 100644 --- a/drivers/pci/controller/dwc/pcie-designware.c +++ b/drivers/pci/controller/dwc/pcie-designware.c @@ -423,8 +423,10 @@ void dw_pcie_setup(struct dw_pcie *pci) ret = of_property_read_u32(np, "num-lanes", &lanes); - if (ret) - lanes = 0; + if (ret) { + dev_dbg(pci->dev, "property num-lanes isn't found\n"); + return; + } /* Set the number of lanes */ val = dw_pcie_readl_dbi(pci, PCIE_PORT_LINK_CONTROL); -- 2.17.1