On Sun, Sep 07, 2025 at 01:00:44AM +0200, Marek Vasut wrote: Hello Marek,
> In case the PHY exit callback reports failure, reset init_count to 0 anyway, > so the next attempt at PHY initialization might try to reinitialize the PHY > and restore it to normal operation. > > Signed-off-by: Marek Vasut <[email protected]> > --- > Cc: Mattijs Korpershoek <[email protected]> > Cc: Roger Quadros <[email protected]> > Cc: Siddharth Vadapalli <[email protected]> > Cc: Tom Rini <[email protected]> > Cc: [email protected] > --- > drivers/phy/phy-uclass.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/phy/phy-uclass.c b/drivers/phy/phy-uclass.c > index 714be123856..f8d4fb3b41b 100644 > --- a/drivers/phy/phy-uclass.c > +++ b/drivers/phy/phy-uclass.c > @@ -274,7 +274,7 @@ int generic_phy_exit(struct phy *phy) > { > struct phy_counts *counts; > struct phy_ops const *ops; > - int ret; > + int ret = 0; > > if (!generic_phy_valid(phy)) > return 0; > @@ -292,12 +292,11 @@ int generic_phy_exit(struct phy *phy) > if (ret) { > dev_err(phy->dev, "PHY: Failed to exit %s: %d.\n", > phy->dev->name, ret); > - return ret; I assume that a generic_phy_reset() may be required for generic_phy_init() to succeed after generic_phy_exit() has failed. While I understand that the current patch allows retrying, this may not be complete in allowing users to make use of the change being brought about by this patch. Nevertheless, the change being proposed in this patch looks good to me. Reviewed-by: Siddharth Vadapalli <[email protected]> > } > } > counts->init_count = 0; > > - return 0; > + return ret; > } > > int generic_phy_power_on(struct phy *phy) Regards, Siddharth.

