]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
PCI: xgene: Fix cfg resource mapping
authorDejin Zheng <zhengdejin5@gmail.com>
Thu, 8 Apr 2021 21:36:57 +0000 (15:36 -0600)
committerSeth Forshee <seth.forshee@canonical.com>
Mon, 12 Apr 2021 17:00:06 +0000 (12:00 -0500)
BugLink: https://bugs.launchpad.net/bugs/1918793
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+
(cherry picked from commit d4707d79fae08c8996a1ba45965a491045a22dda linux-next)
Signed-off-by: dann frazier <dann.frazier@canonical.com>
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/pci/controller/pci-xgene.c

index 85e7c98265e81f9e57e3daa6a42d9c330f54fce4..20be246cd4d4e208f4969ce1ca9ad2fce3174f5f 100644 (file)
@@ -353,7 +353,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;