[PATCH 1/2] PCI: dwc-host: Add a warning to prevent invalid values

From: JunDong Song
Date: Mon Nov 07 2022 - 10:32:02 EST


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-ep.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 83ddb1902..573342601 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -739,8 +739,11 @@ int dw_pcie_ep_init(struct dw_pcie_ep *ep)
return -ENOMEM;
ep->outbound_addr = addr;

- 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");
+ }

epc = devm_pci_epc_create(dev, &epc_ops);
if (IS_ERR(epc)) {
--
2.25.1