Re: [PATCH] net: phy: Simplify the return expression of dp83640_ack_interrupt

From: Andrew Lunn
Date: Fri Jun 04 2021 - 19:02:39 EST


On Fri, Jun 04, 2021 at 09:49:17AM +0200, Heiner Kallweit wrote:
> On 04.06.2021 05:22, dingsenjie@xxxxxxx wrote:
> > From: dingsenjie <dingsenjie@xxxxxxxxxx>
> >
> > Simplify the return expression.
> >
> > Signed-off-by: dingsenjie <dingsenjie@xxxxxxxxxx>
> > ---
> > drivers/net/phy/dp83640.c | 7 +------
> > 1 file changed, 1 insertion(+), 6 deletions(-)
> >
> > diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
> > index 0d79f68..bcd14ec 100644
> > --- a/drivers/net/phy/dp83640.c
> > +++ b/drivers/net/phy/dp83640.c
> > @@ -1141,12 +1141,7 @@ static int dp83640_config_init(struct phy_device *phydev)
> >
> > static int dp83640_ack_interrupt(struct phy_device *phydev)
> > {
> > - int err = phy_read(phydev, MII_DP83640_MISR);
> > -
> > - if (err < 0)
> > - return err;
> > -
> > - return 0;
> > + return phy_read(phydev, MII_DP83640_MISR);
> > }
> >
> > static int dp83640_config_intr(struct phy_device *phydev)
> >
> This would be a functional change. You'd return a positive value
> instead of 0.

And looking a bit further down in the code:

static int dp83640_ack_interrupt(struct phy_device *phydev)
{
int err = phy_read(phydev, MII_DP83640_MISR);

if (err < 0)
return err;

return 0;
}

static int dp83640_config_intr(struct phy_device *phydev)
{
int micr;
int misr;
int err;

if (phydev->interrupts == PHY_INTERRUPT_ENABLED) {
err = dp83640_ack_interrupt(phydev);
if (err)
return err;

So a positive value is going to break the driver.

NACK

Andrew