diff mbox

[3.16.y-ckt,081/133] stmmac: fix check for phydev being open

Message ID 1443606681-7124-82-git-send-email-luis.henriques@canonical.com
State New
Headers show

Commit Message

Luis Henriques Sept. 30, 2015, 9:50 a.m. UTC
3.16.7-ckt18 -stable review patch.  If anyone has any objections, please let me know.

------------------

From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>

commit dfc50fcaad574e5c8c85cbc83eca1426b2413fa4 upstream.

Current check of phydev with IS_ERR(phydev) may make not much sense
because of_phy_connect() returns NULL on failure instead of error value.

Still for checking result of phy_connect() IS_ERR() makes perfect sense.

So let's use combined check IS_ERR_OR_NULL() that covers both cases.

Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Cc: linux-kernel@vger.kernel.org
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

Sergei Shtylyov Sept. 30, 2015, 11:23 a.m. UTC | #1
On 9/30/2015 12:50 PM, Luis Henriques wrote:

> 3.16.7-ckt18 -stable review patch.  If anyone has any objections, please let me know.

    NAK on the same grounds as the 3.10 and 3.14 patches.

> ------------------
>
> From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
>
> commit dfc50fcaad574e5c8c85cbc83eca1426b2413fa4 upstream.
>
> Current check of phydev with IS_ERR(phydev) may make not much sense
> because of_phy_connect() returns NULL on failure instead of error value.
>
> Still for checking result of phy_connect() IS_ERR() makes perfect sense.
>
> So let's use combined check IS_ERR_OR_NULL() that covers both cases.
>
> Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> Cc: linux-kernel@vger.kernel.org
> Cc: David Miller <davem@davemloft.net>
> Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> Signed-off-by: David S. Miller <davem@davemloft.net>
> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
> ---
>   drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 641086fc14b5..936cdee0c22e 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -810,8 +810,11 @@ static int stmmac_init_phy(struct net_device *dev)
>
>   	phydev = phy_connect(dev, phy_id_fmt, &stmmac_adjust_link, interface);
>
> -	if (IS_ERR(phydev)) {
> +	if (IS_ERR_OR_NULL(phydev)) {
>   		pr_err("%s: Could not attach to PHY\n", dev->name);
> +		if (!phydev)
> +			return -ENODEV;
> +
>   		return PTR_ERR(phydev);
>   	}
>

MBR, Sergei
Luis Henriques Sept. 30, 2015, 12:20 p.m. UTC | #2
On Wed, Sep 30, 2015 at 02:23:17PM +0300, Sergei Shtylyov wrote:
> On 9/30/2015 12:50 PM, Luis Henriques wrote:
> 
> >3.16.7-ckt18 -stable review patch.  If anyone has any objections, please let me know.
> 
>    NAK on the same grounds as the 3.10 and 3.14 patches.
>

Ok, makes sense -- dropping this patch from the 3.16 queue.  Thanks!

Cheers,
--
Luís

> >------------------
> >
> >From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
> >
> >commit dfc50fcaad574e5c8c85cbc83eca1426b2413fa4 upstream.
> >
> >Current check of phydev with IS_ERR(phydev) may make not much sense
> >because of_phy_connect() returns NULL on failure instead of error value.
> >
> >Still for checking result of phy_connect() IS_ERR() makes perfect sense.
> >
> >So let's use combined check IS_ERR_OR_NULL() that covers both cases.
> >
> >Cc: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
> >Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
> >Cc: linux-kernel@vger.kernel.org
> >Cc: David Miller <davem@davemloft.net>
> >Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
> >Signed-off-by: David S. Miller <davem@davemloft.net>
> >Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
> >---
> >  drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> >
> >diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> >index 641086fc14b5..936cdee0c22e 100644
> >--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> >+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> >@@ -810,8 +810,11 @@ static int stmmac_init_phy(struct net_device *dev)
> >
> >  	phydev = phy_connect(dev, phy_id_fmt, &stmmac_adjust_link, interface);
> >
> >-	if (IS_ERR(phydev)) {
> >+	if (IS_ERR_OR_NULL(phydev)) {
> >  		pr_err("%s: Could not attach to PHY\n", dev->name);
> >+		if (!phydev)
> >+			return -ENODEV;
> >+
> >  		return PTR_ERR(phydev);
> >  	}
> >
> 
> MBR, Sergei
>
diff mbox

Patch

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index 641086fc14b5..936cdee0c22e 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -810,8 +810,11 @@  static int stmmac_init_phy(struct net_device *dev)
 
 	phydev = phy_connect(dev, phy_id_fmt, &stmmac_adjust_link, interface);
 
-	if (IS_ERR(phydev)) {
+	if (IS_ERR_OR_NULL(phydev)) {
 		pr_err("%s: Could not attach to PHY\n", dev->name);
+		if (!phydev)
+			return -ENODEV;
+
 		return PTR_ERR(phydev);
 	}