Am Donnerstag, dem 03.03.2022 um 14:34 +0800 schrieb Richard Zhu: > To balance phy->init_count, invoke the phy_exit() after phy_power_off(). > This looks okay as a fix, but overall I don't like that we need to have special PHY handling in the suspend path and PHY init hidden in imx6_pcie_assert_core_reset() in the resume path. Maybe we can make this PHY handling a bit more obvious by splitting it out of the core reset sequence. I don't see the full implications of such a change yet, but I think we should at least give it a try. For now, this patch is: Reviewed-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> > Fixes: 178e244cb6e2 ("PCI: imx: Add the imx8mm pcie support") > Signed-off-by: Richard Zhu <hongxing.zhu@xxxxxxx> > --- > drivers/pci/controller/dwc/pci-imx6.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c > index 331490614d55..343fe1429e3c 100644 > --- a/drivers/pci/controller/dwc/pci-imx6.c > +++ b/drivers/pci/controller/dwc/pci-imx6.c > @@ -973,6 +973,7 @@ static int imx6_pcie_suspend_noirq(struct device *dev) > case IMX8MM: > if (phy_power_off(imx6_pcie->phy)) > dev_err(dev, "unable to power off PHY\n"); > + phy_exit(imx6_pcie->phy); > break; > default: > break;