Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp3516977pxf; Mon, 15 Mar 2021 11:17:30 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz7cCScDqK3Q94yNDcCqkDDy8FGWcf4Gu3oVeVCMyC831k8l5/WMTIW7WUWMAQkzYBo4D6T X-Received: by 2002:a17:906:cc89:: with SMTP id oq9mr24931777ejb.258.1615832250468; Mon, 15 Mar 2021 11:17:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1615832250; cv=none; d=google.com; s=arc-20160816; b=OAPRgyEJLwAM+ouWBzOL/JzuqGZmlbU8RJuZZfYbkIJx6F3FNFaa8A3xBLiDRIVAkd 4w4MhPMf6APO/bmBd1oO23F7b0bOiU8cgzPqwo+vjcJtqwV1z84v4ICf1wbfWWbBsOYi GcZWIQ0tRTAYSq4C8F0Jy3dp3b1HlKJtiDiitf5x1fqlNpX8SQUK4LSWpxwP69aW8ctb Cp5VM+HCuhsGt86zUayqI0I6HfEca3k6oOuuNp97AWr/pPN1h5wZiSQ+78t30c1L3TlB 2g+QiKUx2dlUtO+7aOXfXVfFGqAWDeSAeXwPWh8DRxH12lsAKIVf0Pr0v14rHgz64Xbw fXdw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=uCWW1lC/xwvCKSvB9iZKe7asKD428w1Ey0p5T+1b9J4=; b=Pp5VVjoC9PxcsQEyfUhiWtup3ovkAzsD7T0mbjyOoeGdZohLn5pu6DDSCzVmyinW4d lkYm+H4oT0TC4CQouxCiiqQ+tDtgPfZibsdz2e1itqs8gZtauvOa614JhnZcOsynjmUp kYzegeMSfOuAFiS8smChsBHWkZdTlS99O4JfZM0OTuFUpuBLBjMPGVfiOeMSt6luQORa YuQJGxN4owG2QwaDbr+98JVTkPGnxspVpu8Mgrw3OFUtEiEaeZ9cazAGVV64ATueszjc 2LwhOykNEJMwyLNZf3v6Qwm0Lo8/bHOJ/IIulMONWCvdT7OFXOuK4HsTPKKaXb66pTO2 JUKQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wfDAa8zX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw19si11292867edb.211.2021.03.15.11.17.07; Mon, 15 Mar 2021 11:17:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=wfDAa8zX; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236677AbhCOOQh (ORCPT + 99 others); Mon, 15 Mar 2021 10:16:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:36594 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232656AbhCON70 (ORCPT ); Mon, 15 Mar 2021 09:59:26 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D9BF364F2C; Mon, 15 Mar 2021 13:59:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1615816742; bh=pnnK+ogZuhIWO3syW7uP2Eq5Y7MJ0oSBwWXQ0Ds3x3Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wfDAa8zXywArDad997mXt2vKlWTh6s/ux63h4fr8jLK/L1DFPlp28PeNjDz8BHG1M 13KTksSPwP3owfl+oPbzSEDf50d5QR0t1BmZfawzD0R4UDGxmV2tlzSX8hbLUX+21v h1b3LAR7bu1Sd5JJdFbD0MQN9U1paM3pvQwj7N4Y= From: gregkh@linuxfoundation.org To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Guangbin Huang , Huazhong Tan , "David S. Miller" , Sasha Levin Subject: [PATCH 4.14 31/95] net: phy: fix save wrong speed and duplex problem if autoneg is on Date: Mon, 15 Mar 2021 14:57:01 +0100 Message-Id: <20210315135741.300557722@linuxfoundation.org> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210315135740.245494252@linuxfoundation.org> References: <20210315135740.245494252@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Greg Kroah-Hartman From: Guangbin Huang [ Upstream commit d9032dba5a2b2bbf0fdce67c8795300ec9923b43 ] If phy uses generic driver and autoneg is on, enter command "ethtool -s eth0 speed 50" will not change phy speed actually, but command "ethtool eth0" shows speed is 50Mb/s because phydev->speed has been set to 50 and no update later. And duplex setting has same problem too. However, if autoneg is on, phy only changes speed and duplex according to phydev->advertising, but not phydev->speed and phydev->duplex. So in this case, phydev->speed and phydev->duplex don't need to be set in function phy_ethtool_ksettings_set() if autoneg is on. Fixes: 51e2a3846eab ("PHY: Avoid unnecessary aneg restarts") Signed-off-by: Guangbin Huang Signed-off-by: Huazhong Tan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/phy/phy.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 7989ae4b8387..e5b86f07f8fc 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -335,7 +335,10 @@ int phy_ethtool_ksettings_set(struct phy_device *phydev, phydev->autoneg = autoneg; - phydev->speed = speed; + if (autoneg == AUTONEG_DISABLE) { + phydev->speed = speed; + phydev->duplex = duplex; + } phydev->advertising = advertising; @@ -344,8 +347,6 @@ int phy_ethtool_ksettings_set(struct phy_device *phydev, else phydev->advertising &= ~ADVERTISED_Autoneg; - phydev->duplex = duplex; - phydev->mdix_ctrl = cmd->base.eth_tp_mdix_ctrl; /* Restart the PHY */ -- 2.30.1