aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorKrzysztof Wilczyński <kw@linux.com>2021-02-16 20:59:35 +0000
committerBjorn Helgaas <bhelgaas@google.com>2021-02-18 10:56:02 -0600
commit1002573ee33efef0988a9a546c075a9fa37d2498 (patch)
tree4383f95bff688fdb5183b2fddae3eb5c8f5aa208
parentLinux 5.11-rc3 (diff)
downloadwireguard-linux-1002573ee33efef0988a9a546c075a9fa37d2498.tar.xz
wireguard-linux-1002573ee33efef0988a9a546c075a9fa37d2498.zip
PCI: cadence: Fix DMA range mapping early return error
Function cdns_pcie_host_map_dma_ranges() iterates over a PCIe host bridge DMA ranges using the resource_list_for_each_entry() iterator, returning an error if cdns_pcie_host_bar_config() fails. 49e427e6bdd1 ("Merge branch 'pci/host-probe-refactor'") botched a merge so it *always* returned after the first DMA range, even if no error occurred. Fix the error checking so we return early only when an error occurs. [bhelgaas: commit log] Fixes: 49e427e6bdd1 ("Merge branch 'pci/host-probe-refactor'") Link: https://lore.kernel.org/r/20210216205935.3112661-1-kw@linux.com Signed-off-by: Krzysztof Wilczyński <kw@linux.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-rw-r--r--drivers/pci/controller/cadence/pcie-cadence-host.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/pci/controller/cadence/pcie-cadence-host.c b/drivers/pci/controller/cadence/pcie-cadence-host.c
index 811c1cb2e8de..1cb7cfc75d6e 100644
--- a/drivers/pci/controller/cadence/pcie-cadence-host.c
+++ b/drivers/pci/controller/cadence/pcie-cadence-host.c
@@ -321,9 +321,10 @@ static int cdns_pcie_host_map_dma_ranges(struct cdns_pcie_rc *rc)
resource_list_for_each_entry(entry, &bridge->dma_ranges) {
err = cdns_pcie_host_bar_config(rc, entry);
- if (err)
+ if (err) {
dev_err(dev, "Fail to configure IB using dma-ranges\n");
- return err;
+ return err;
+ }
}
return 0;