From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754488AbbIHLUJ (ORCPT ); Tue, 8 Sep 2015 07:20:09 -0400 Received: from mail-la0-f48.google.com ([209.85.215.48]:36568 "EHLO mail-la0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754239AbbIHLUF (ORCPT ); Tue, 8 Sep 2015 07:20:05 -0400 Subject: Re: [PATCH v3] stmmac: fix check for phydev being open To: Alexey Brodkin , netdev@vger.kernel.org References: <1441701786-10789-1-git-send-email-abrodkin@synopsys.com> Cc: Giuseppe Cavallaro , linux-kernel@vger.kernel.org, stable@vger.kernel.org, David Miller From: Sergei Shtylyov Message-ID: <55EEC462.2000906@cogentembedded.com> Date: Tue, 8 Sep 2015 14:20:02 +0300 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <1441701786-10789-1-git-send-email-abrodkin@synopsys.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello. On 9/8/2015 11:43 AM, 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. MBR, Sergei