Message ID | 1441659019-25522-1-git-send-email-abrodkin@synopsys.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
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 <peppe.cavallaro@st.com> > Cc: linux-kernel@vger.kernel.org > Cc: stable@vger.kernel.org > Cc: David Miller <davem@davemloft.net> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> > --- > > 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? MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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 <peppe.cavallaro@st.com> > > Cc: linux-kernel@vger.kernel.org > > Cc: stable@vger.kernel.org > > Cc: David Miller <davem@davemloft.net> > > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> > > --- > > > > 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-- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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. Not of_phy_connect()? > 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 <peppe.cavallaro@st.com> > Cc: linux-kernel@vger.kernel.org > Cc: stable@vger.kernel.org > Cc: David Miller <davem@davemloft.net> > Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Sergei, On Tue, 2015-09-08 at 00:24 +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. > > Not of_phy_connect()? I already noticed this misspelling - it came from my exploration of what happens inside of_phy_connect(). So sort of braindump. I will fix in v3 re-spin. -Alexey-- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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); }
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 <peppe.cavallaro@st.com> Cc: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org Cc: David Miller <davem@davemloft.net> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> --- 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(-)