Subject: Re: [PATCH v2] stmmac: fix check for phydev being open

From: Alexey Brodkin <[email-masked]>
Date: Mon, 7 Sep 2015 21:08:17 +0000

Hi Sergei,

On Mon, 2015-09-07 at 23:53 +0300, Sergei Shtylyov wrote:
> On 09/07/2015 11:50 PM, Alexey Brodkin wrote:
> 
> > Current implementation via IS_ERR(phydev) may make no sense because
> > of_phy_attach() returns NULL on failure instead of error value.
> > 
> > Still for checking result of phy_connect() IS_ERR() is useful.
> > 
> > To address both situations we use combined IS_ERR_OR_NULL() check.
> > 
> > Cc: Giuseppe Cavallaro <[email-masked]>
> > Cc: [email-masked]
> > Cc: [email-masked]
> > Cc: David Miller <[email-masked]>
> > Cc: Sergei Shtylyov <[email-masked]>
> > Signed-off-by: Alexey Brodkin <[email-masked]>
> > ---
> > 
> > Changes compared to v1:
> >   * Use IS_ERR_OR_NULL() instead of discrete checks for null and err
> > 
> >   drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > index 864b476..7985d8a 100644
> > --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> > @@ -837,7 +837,7 @@ static int stmmac_init_phy(struct net_device *dev)
> >   				     interface);
> >   	}
> > 
> > -	if (IS_ERR(phydev)) {
> > +	if (IS_ERR_OR_NULL(phydev)) {
> >   		pr_err("%s: Could not attach to PHY\n", dev->name);
> >   		return PTR_ERR(phydev);
> 
>     Hm, in case of phydev == NULL, you're going to return 0 here... is that 
> what you want?

Ah, right.

So then the question would be what's a proper error code for !phydev:
-ENOENT or -ENODEV?

-Alexey