From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f44.google.com ([209.85.215.44]:35536 "EHLO mail-la0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751473AbbIHTxz (ORCPT ); Tue, 8 Sep 2015 15:53:55 -0400 Received: by lagj9 with SMTP id j9so77656536lag.2 for ; Tue, 08 Sep 2015 12:53:54 -0700 (PDT) Subject: Re: [PATCH v3] stmmac: fix check for phydev being open To: Alexey Brodkin References: <1441701786-10789-1-git-send-email-abrodkin@synopsys.com> <55EEC462.2000906@cogentembedded.com> <1441716387.21150.0.camel@synopsys.com> Cc: "linux-kernel@vger.kernel.org" , "davem@davemloft.net" , "stable@vger.kernel.org" , "peppe.cavallaro@st.com" , "netdev@vger.kernel.org" From: Sergei Shtylyov Message-ID: <55EF3CCF.4000608@cogentembedded.com> Date: Tue, 8 Sep 2015 22:53:51 +0300 MIME-Version: 1.0 In-Reply-To: <1441716387.21150.0.camel@synopsys.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: Hello. On 09/08/2015 03:46 PM, Alexey Brodkin wrote: >>> 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 >>> Cc: Giuseppe Cavallaro >>> Cc: linux-kernel@vger.kernel.org >>> Cc: stable@vger.kernel.org >>> Cc: David Miller >>> Signed-off-by: Alexey Brodkin >>> --- >>> >>> Changes compared to v2: >>> * Updated commit message with mention of of_phy_connect() instead of >>> of_phy_attach(). >>> * Return ENODEV in case of of_phy_connect() failure >>> >>> 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 | 7 +++++-- >>> 1 file changed, 5 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c >>> index 864b476..e2c9c86 100644 >>> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c >>> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c >>> @@ -837,9 +837,12 @@ 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); >>> + if (!phydev) >>> + return -ENODEV; >>> + else >>> + return PTR_ERR(phydev); >> >> Don't need *else* after *return* and scripts/checkpatch.pl should have >> complained about that. > > ./scripts/checkpatch.pl 0001-stmmac-fix-check-for-phydev-being-open.patch > total: 0 errors, 0 warnings, 0 checks, 14 lines checked Hm... I bet I saw such warning from checkpatch.pl recently (it was a false positive though, so maybe the check was removed recently, not sure). Your patch is clean indeed, however my comment is still valid. > -Alexey MBR, Sergei