[PATCH] phy: Reset init count on phy exit failure
Siddharth Vadapalli
s-vadapalli at ti.com
Mon Sep 8 09:09:04 CEST 2025
On Sun, Sep 07, 2025 at 06:13:33PM +0200, Marek Vasut wrote:
> On 9/7/25 9:18 AM, Siddharth Vadapalli wrote:
>
> Hi,
>
> > > 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.
>
> Likely, that's up to the driver(s).
>
> > 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.
> This only corrects the inability to retry on failure due to refcount not
> being decremented. Recovery action of the PHY is up to the
> user/driver/consumer .
Thank you for clarifying.
Regards,
Siddharth.
More information about the U-Boot
mailing list