summaryrefslogtreecommitdiffstats
path: root/drivers/pci
diff options
context:
space:
mode:
authorDejin Zheng <zhengdejin5@gmail.com>2021-03-28 16:41:18 +0200
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>2021-03-31 11:28:38 +0200
commitd4707d79fae08c8996a1ba45965a491045a22dda (patch)
tree38aebddc8d32d34e25038b93f39bc688f9a233ab /drivers/pci
parentLinux 5.12-rc2 (diff)
downloadlinux-d4707d79fae08c8996a1ba45965a491045a22dda.tar.xz
linux-d4707d79fae08c8996a1ba45965a491045a22dda.zip
PCI: xgene: Fix cfg resource mapping
In commit e2dcd20b1645 a change was made to use devm_platform_ioremap_resource_byname() to simplify code and remove the res variable; this was wrong since the res variable is still needed and as an outcome the port->cfg_addr gets an erroneous address. Revert the change going back to original behaviour. Link: https://lore.kernel.org/r/20210328144118.305074-1-zhengdejin5@gmail.com Fixes: e2dcd20b1645a ("PCI: controller: Convert to devm_platform_ioremap_resource_byname()") Reported-by: dann.frazier@canonical.com Tested-by: dann frazier <dann.frazier@canonical.com> Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Cc: stable@vger.kernel.org # v5.9+
Diffstat (limited to 'drivers/pci')
-rw-r--r--drivers/pci/controller/pci-xgene.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pci/controller/pci-xgene.c b/drivers/pci/controller/pci-xgene.c
index 2afdc865253e..7f503dd4ff81 100644
--- a/drivers/pci/controller/pci-xgene.c
+++ b/drivers/pci/controller/pci-xgene.c
@@ -354,7 +354,8 @@ static int xgene_pcie_map_reg(struct xgene_pcie_port *port,
if (IS_ERR(port->csr_base))
return PTR_ERR(port->csr_base);
- port->cfg_base = devm_platform_ioremap_resource_byname(pdev, "cfg");
+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cfg");
+ port->cfg_base = devm_ioremap_resource(dev, res);
if (IS_ERR(port->cfg_base))
return PTR_ERR(port->cfg_base);
port->cfg_addr = res->start;