Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp5928240pxb; Mon, 14 Feb 2022 10:55:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJxl8nHM1Gcx+LwNoFZheHXm2bF/Y7eIs5bHFBEwufmD/zHQE6Or5mqFDD3ADUXPbdubrhgd X-Received: by 2002:a17:90b:214:: with SMTP id fy20mr1565pjb.89.1644864931353; Mon, 14 Feb 2022 10:55:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644864931; cv=none; d=google.com; s=arc-20160816; b=wATY4Q+934MHIdm9XNh8LGasHq9JBhap4Y9l27+0d+3m32gJUFIfy4rp0953+YpKyU o8uojv1C6Mpvf2YFv67x0N0qNeeRG/FOK4X0dlEVJMxZGTaQ7f9DEA8XTeJp122JYzYF BID7bzqLEeYPxG6TbcHgQxjL3t4ulKnRAlngZ6SIvnM+4XS6B5Ayu4bwkr2vOjNmbzuX Ns75+WDXnk5hLHgt3JkPfuC0BxR5ghU6zslN3ftX0pj4EutOKjC6D71HlfAtUUhOizN1 blAf8N2ccvn82lcYcJ/ubk9ILrk7AyqSGRkD/MbF+10Be8UPJTBDqgHkehEQjkQC7Y9v oHQg== 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=S6ntqT/+XNnqTsbOdGjC3HN5reA6/KEgzOkjPsP3F6Y=; b=SA6hl6bzXW8rSRuEiJW7Q5VH2oltn5K8NB5X+B1uKO1PS5IAmEc3UEqI58Pe+y3Ld5 8Pi3Bh4+sCYgold4LT0nhFyKcM4l9TZ9qO4lMPT3p5ttbEZk0jCqBVD3QgUSumML0idO 9S3PUZ+Lvc78Bp0xCvfW75FACI4/Ccd72g/jetEh4h0zknXPDXUVoE+BrrK3O4KfDTnj 7hDdcLZzPqBvAC09j6pAxxklrxpJtp6ovETHT8cpTgbyLhIIepLCp7Jden11MbkXoKxN +edS372kPa8Q3dH+gDzYlZRjsFo6ytZbKJqO3xZRrHRJevGoFFOkS22gsTeHGu+5gMmi m4zQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=eTz96RmQ; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 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 lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id t63si455996pgd.431.2022.02.14.10.55.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Feb 2022 10:55:31 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=eTz96RmQ; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id BE33EA995D; Mon, 14 Feb 2022 10:54:31 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S244108AbiBNJfc (ORCPT + 99 others); Mon, 14 Feb 2022 04:35:32 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:52212 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244057AbiBNJfL (ORCPT ); Mon, 14 Feb 2022 04:35:11 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DE1C869CC2; Mon, 14 Feb 2022 01:33:01 -0800 (PST) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BD7C860FFC; Mon, 14 Feb 2022 09:33:01 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1E76C340E9; Mon, 14 Feb 2022 09:33:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1644831181; bh=gc3KeIapCurk3kq/KRk6/Q2EGl0JGhbdYslSbDyqMpQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eTz96RmQbtZGtMg0yWEaGHC9ykqaMwA28qrnQDzmSgkGvfRbjJNDgwnfGKS5CxqW/ oGCyNL2ZK8bflS8D10/3PFvjj11n34i5HxY3drLYpwusv4XWJRxC3aU3sW1yxKZXMs B4Sd6fVksGD8/YvXFMPX5tnDy39wwr9DX2TeTRFc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Pavel Parkhomenko , Serge Semin , Andrew Lunn , "David S. Miller" Subject: [PATCH 4.19 05/49] net: phy: marvell: Fix MDI-x polarity setting in 88e1118-compatible PHYs Date: Mon, 14 Feb 2022 10:25:31 +0100 Message-Id: <20220214092448.476456387@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220214092448.285381753@linuxfoundation.org> References: <20220214092448.285381753@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Pavel Parkhomenko commit aec12836e7196e4d360b2cbf20cf7aa5139ad2ec upstream. When setting up autonegotiation for 88E1118R and compatible PHYs, a software reset of PHY is issued before setting up polarity. This is incorrect as changes of MDI Crossover Mode bits are disruptive to the normal operation and must be followed by a software reset to take effect. Let's patch m88e1118_config_aneg() to fix the issue mentioned before by invoking software reset of the PHY just after setting up MDI-x polarity. Fixes: 605f196efbf8 ("phy: Add support for Marvell 88E1118 PHY") Signed-off-by: Pavel Parkhomenko Reviewed-by: Serge Semin Suggested-by: Andrew Lunn Cc: stable@vger.kernel.org Reviewed-by: Andrew Lunn Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/phy/marvell.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) --- a/drivers/net/phy/marvell.c +++ b/drivers/net/phy/marvell.c @@ -899,16 +899,15 @@ static int m88e1118_config_aneg(struct p { int err; - err = genphy_soft_reset(phydev); + err = marvell_set_polarity(phydev, phydev->mdix_ctrl); if (err < 0) return err; - err = marvell_set_polarity(phydev, phydev->mdix_ctrl); + err = genphy_config_aneg(phydev); if (err < 0) return err; - err = genphy_config_aneg(phydev); - return 0; + return genphy_soft_reset(phydev); } static int m88e1118_config_init(struct phy_device *phydev)