mirror of https://gitee.com/openkylin/linux.git
PCI: exynos: Initialize elbi_base even when using PHY framework
Even when using the PHY framework, we need the elbi_base. Before this
patch, we didn't initialize elbi_base, which caused NULL pointer
dereferences later.
Fixes: e7cd7ef58e
("PCI: exynos: Support the PHY generic framework")
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
c1ae3cfa0e
commit
544714d8e1
|
@ -132,10 +132,6 @@ static int exynos5440_pcie_get_mem_resources(struct platform_device *pdev,
|
||||||
struct device *dev = pci->dev;
|
struct device *dev = pci->dev;
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
|
|
||||||
/* If using the PHY framework, doesn't need to get other resource */
|
|
||||||
if (ep->using_phy)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
ep->mem_res = devm_kzalloc(dev, sizeof(*ep->mem_res), GFP_KERNEL);
|
ep->mem_res = devm_kzalloc(dev, sizeof(*ep->mem_res), GFP_KERNEL);
|
||||||
if (!ep->mem_res)
|
if (!ep->mem_res)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
@ -145,6 +141,10 @@ static int exynos5440_pcie_get_mem_resources(struct platform_device *pdev,
|
||||||
if (IS_ERR(ep->mem_res->elbi_base))
|
if (IS_ERR(ep->mem_res->elbi_base))
|
||||||
return PTR_ERR(ep->mem_res->elbi_base);
|
return PTR_ERR(ep->mem_res->elbi_base);
|
||||||
|
|
||||||
|
/* If using the PHY framework, doesn't need to get other resource */
|
||||||
|
if (ep->using_phy)
|
||||||
|
return 0;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
|
||||||
ep->mem_res->phy_base = devm_ioremap_resource(dev, res);
|
ep->mem_res->phy_base = devm_ioremap_resource(dev, res);
|
||||||
if (IS_ERR(ep->mem_res->phy_base))
|
if (IS_ERR(ep->mem_res->phy_base))
|
||||||
|
|
Loading…
Reference in New Issue