In the function imx6_pcie_attach_pd(), dev_pm_domain_attach_by_name() may return NULL in some cases, so IS_ERR() doesn't meet the requirements. Thus fix it. Fixes: 3f7cceeab895 ("PCI: imx: Add multi-pd support") Signed-off-by: Tang Bin <tangbin@xxxxxxxxxxxxxxxxxxxx> --- drivers/pci/controller/dwc/pci-imx6.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c index 6619e3caf..65d6ebbba 100644 --- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c @@ -337,8 +337,8 @@ static int imx6_pcie_attach_pd(struct device *dev) return 0; imx6_pcie->pd_pcie = dev_pm_domain_attach_by_name(dev, "pcie"); - if (IS_ERR(imx6_pcie->pd_pcie)) - return PTR_ERR(imx6_pcie->pd_pcie); + if (IS_ERR_OR_NULL(imx6_pcie->pd_pcie)) + return PTR_ERR(imx6_pcie->pd_pcie) ? : -ENODATA; /* Do nothing when power domain missing */ if (!imx6_pcie->pd_pcie) return 0; @@ -352,8 +352,8 @@ static int imx6_pcie_attach_pd(struct device *dev) } imx6_pcie->pd_pcie_phy = dev_pm_domain_attach_by_name(dev, "pcie_phy"); - if (IS_ERR(imx6_pcie->pd_pcie_phy)) - return PTR_ERR(imx6_pcie->pd_pcie_phy); + if (IS_ERR_OR_NULL(imx6_pcie->pd_pcie_phy)) + return PTR_ERR(imx6_pcie->pd_pcie_phy) ? : -ENODATA; link = device_link_add(dev, imx6_pcie->pd_pcie_phy, DL_FLAG_STATELESS | -- 2.20.1.windows.1