of_pci_get_max_link_speed() may return a negative value, causing the controller to not set the speed correctly. Add a warning in case the driver engineer misses it. Signed-off-by: JunDong Song <jundongsong1@xxxxxxxxx> --- When I use the pcie dwc driver, the controller speed is abnormal, but it has not been detected because of the @max-link-speed error, so I think I need to return an error or warning here. Thanks. drivers/pci/controller/dwc/pcie-designware-host.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/pci/controller/dwc/pcie-designware-host.c b/drivers/pci/controller/dwc/pcie-designware-host.c index 39f3b37d4..0103b9a63 100644 --- a/drivers/pci/controller/dwc/pcie-designware-host.c +++ b/drivers/pci/controller/dwc/pcie-designware-host.c @@ -429,8 +429,11 @@ int dw_pcie_host_init(struct dw_pcie_rp *pp) pp->io_base = pci_pio_to_address(win->res->start); } - if (pci->link_gen < 1) + if (pci->link_gen < 1) { pci->link_gen = of_pci_get_max_link_speed(np); + if (unlikely(pci->link_gen < 0)) + dev_warn(dev, "Failed to get max link speed\n"); + } /* Set default bus ops */ bridge->ops = &dw_pcie_ops; -- 2.25.1