Received: by 10.192.165.156 with SMTP id m28csp1193421imm; Wed, 11 Apr 2018 14:17:16 -0700 (PDT) X-Google-Smtp-Source: AIpwx48av0OkOJyBhPV56go9JKC6+MxrTosI7EMPKvdq1q5MkUy4n2q3/fR3wvDbLz1VEsW7fWXE X-Received: by 2002:a17:902:7c82:: with SMTP id y2-v6mr6854814pll.103.1523481436878; Wed, 11 Apr 2018 14:17:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523481436; cv=none; d=google.com; s=arc-20160816; b=eBcx5qOSPYR+vtJSY4EUd0zQnT+r/CBQoiFInu4sQLQqav+XqWLNPcraVUJfPMNMxw v6Z+NqQfqxpnlMIftj1b6qG9xAarAafirYoPmR+3pglzJjN8Ggw1GJcbD0tXje7ztUZ2 JE4nPe7E1CQfS87EmkDfhd/aTe34TK32iGo1QDEDSCzwp1anVuR3tAmzmzW8QAc8/twI 2UDi37bdmpVE5rbljvizQm7WRXOqvRUNmxpFz5PWhmCw4unP1YcAlL5eSEGXz/ueuM4W 1VEPVKlh9E8BJc0P3Ij4OHQM9/ILnQfv0RoVw9Qfrdd1U37KSLUHO9Lov8jCquawWXls fc7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=p1ZK3sd0O7VynTTScUpFtqVeSAORX1PZ3zvJeoNMuf8=; b=AD79xNgvwwgKooV7GGRchjZvXAruGCLZkw2qh2qvfRZg5mB2eG9BR7nvrOdLPSKxYU 3kxQo8fqK8kw61ivDCSjCqIoiULdUbWPNRkrzESMJ4sW5chOkbHVkDkrCAuSvNiQSAtI HS7urB8Rpmqjl1L95pMpTKfpQye1SrbuQYmLixSYmXqJ3LThnN3PLuP74Wwb1+cYaQwU GAEop6fHLOkVRVUNM2lkZc2fjFP83+ghksrdsRtX9G8XXKhkYIX2t1AOOnaei6cQjAWF 2DYoNETW9xLtpPZwZW/X6fXY61TLwn0P3z9ds0qfU7no3bg/TOfmV60v9XnOTPNbFcZm JTYA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m10-v6si1740534plt.31.2018.04.11.14.16.40; Wed, 11 Apr 2018 14:17:16 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755095AbeDKVN3 (ORCPT + 99 others); Wed, 11 Apr 2018 17:13:29 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:56686 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754772AbeDKSlH (ORCPT ); Wed, 11 Apr 2018 14:41:07 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id B00EBAD9; Wed, 11 Apr 2018 18:41:06 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Russell King , Andrew Lunn , Florian Fainelli , "David S. Miller" , Sasha Levin Subject: [PATCH 3.18 074/121] net: phy: avoid genphy_aneg_done() for PHYs without clause 22 support Date: Wed, 11 Apr 2018 20:36:17 +0200 Message-Id: <20180411183500.640842614@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411183456.195010921@linuxfoundation.org> References: <20180411183456.195010921@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Russell King [ Upstream commit 41408ad519f7a2a1c5229e61f2a97f4df1b61adc ] Avoid calling genphy_aneg_done() for PHYs that do not implement the Clause 22 register set. Clause 45 PHYs may implement the Clause 22 register set along with the Clause 22 extension MMD. Hence, we can't simply block access to the Clause 22 functions based on the PHY being a Clause 45 PHY. Signed-off-by: Russell King Reviewed-by: Andrew Lunn Reviewed-by: Florian Fainelli Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/phy.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -123,6 +123,12 @@ static inline int phy_aneg_done(struct p if (phydev->drv->aneg_done) return phydev->drv->aneg_done(phydev); + /* Avoid genphy_aneg_done() if the Clause 45 PHY does not + * implement Clause 22 registers + */ + if (phydev->is_c45 && !(phydev->c45_ids.devices_in_package & BIT(0))) + return -EINVAL; + return genphy_aneg_done(phydev); }