From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932997AbdKCTxM (ORCPT ); Fri, 3 Nov 2017 15:53:12 -0400 Received: from mail-qk0-f195.google.com ([209.85.220.195]:47758 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752316AbdKCTxK (ORCPT ); Fri, 3 Nov 2017 15:53:10 -0400 X-Google-Smtp-Source: ABhQp+Q65slj15aW4pbhDjIQvd9aU4aLHNTgi9mvEcB6rQSAD1Nhr8f2lrKUQuadeWjdSfuVCrXnVQ== Subject: Re: [PATCH net-next 5/6] net: hns3: add support for nway_reset To: Lipeng , davem@davemloft.net Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linuxarm@huawei.com, salil.mehta@huawei.com References: <1509682710-94908-1-git-send-email-lipeng321@huawei.com> <1509682710-94908-6-git-send-email-lipeng321@huawei.com> From: Florian Fainelli Message-ID: Date: Fri, 3 Nov 2017 12:53:06 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1509682710-94908-6-git-send-email-lipeng321@huawei.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/02/2017 09:18 PM, Lipeng wrote: > From: Fuyun Liang > > This patch adds nway_reset support for ethtool cmd. > > Signed-off-by: Fuyun Liang > Signed-off-by: Lipeng > --- > .../net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 18 ++++++++++++++++++ > 1 file changed, 18 insertions(+) > > diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > index 7fe193b..a21470c 100644 > --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c > @@ -832,6 +832,23 @@ static int hns3_set_rxnfc(struct net_device *netdev, struct ethtool_rxnfc *cmd) > } > } > > +static int hns3_nway_reset(struct net_device *netdev) > +{ > + struct phy_device *phy = netdev->phydev; > + > + if (!netif_running(netdev)) > + return 0; > + > + /* Only support nway_reset for netdev with phy attached for now */ > + if (!phy) > + return -EOPNOTSUPP; > + > + if (phy->autoneg != AUTONEG_ENABLE) > + return -EINVAL; > + > + return genphy_restart_aneg(phy); Consider using phy_ethtool_nway_reset() which properly checks for phydev->drv (you don't). phy_restart_aneg() already checks for phydev->autoneg. -- Florian