On 22.08.2022 11:39, Minas Harutyunyan wrote: > Hi Heiner, > > On 8/20/2022 9:45 PM, Heiner Kallweit wrote: >> Since 1599069a62c6 ("phy: core: Warn when phy_power_on is called before >> phy_init") the driver complains. In my case (Amlogic SoC) the warning >> is: phy phy-fe03e000.phy.2: phy_power_on was called before phy_init >> So change the order of the two calls. >> >> Fixes: 09a75e857790 ("usb: dwc2: refactor common low-level hw code to platform.c") > > Added CC: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> >> Cc: stable@xxxxxxxxxxxxxxx >> Signed-off-by: Heiner Kallweit <hkallweit1@xxxxxxxxx> >> --- >> drivers/usb/dwc2/platform.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c >> index c8ba87df7..4db7a18a5 100644 >> --- a/drivers/usb/dwc2/platform.c >> +++ b/drivers/usb/dwc2/platform.c >> @@ -154,9 +154,9 @@ static int __dwc2_lowlevel_hw_enable(struct dwc2_hsotg *hsotg) >> } else if (hsotg->plat && hsotg->plat->phy_init) { >> ret = hsotg->plat->phy_init(pdev, hsotg->plat->phy_type); >> } else { >> - ret = phy_power_on(hsotg->phy); >> + ret = phy_init(hsotg->phy); >> if (ret == 0) >> - ret = phy_init(hsotg->phy); >> + ret = phy_power_on(hsotg->phy); >> } >> >> return ret; > > Shouldn't be updated function __dwc2_lowlevel_hw_disable() similarly, > according: phy_power_off must be called before phy_exit()? > Indeed, this should be changed accordingly. See kernel doc: * phy_exit - Phy internal un-initialization * @phy: the phy returned by phy_get() * * Must be called after phy_power_off(). > Thanks, > Minas >