diff options
Diffstat (limited to 'drivers/pci/controller/dwc/pcie-uniphier-ep.c')
| -rw-r--r-- | drivers/pci/controller/dwc/pcie-uniphier-ep.c | 13 | 
1 files changed, 12 insertions, 1 deletions
| diff --git a/drivers/pci/controller/dwc/pcie-uniphier-ep.c b/drivers/pci/controller/dwc/pcie-uniphier-ep.c index 639bc2e12476..0e5e7344de48 100644 --- a/drivers/pci/controller/dwc/pcie-uniphier-ep.c +++ b/drivers/pci/controller/dwc/pcie-uniphier-ep.c @@ -399,7 +399,18 @@ static int uniphier_pcie_ep_probe(struct platform_device *pdev)  		return ret;  	priv->pci.ep.ops = &uniphier_pcie_ep_ops; -	return dw_pcie_ep_init(&priv->pci.ep); +	ret = dw_pcie_ep_init(&priv->pci.ep); +	if (ret) +		return ret; + +	ret = dw_pcie_ep_init_registers(&priv->pci.ep); +	if (ret) { +		dev_err(dev, "Failed to initialize DWC endpoint registers\n"); +		dw_pcie_ep_deinit(&priv->pci.ep); +		return ret; +	} + +	return 0;  }  static const struct uniphier_pcie_ep_soc_data uniphier_pro5_data = { | 
