From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: Re: [PATCH 4.1 11/56] mvneta: add forgotten initialization of autonegotiation bits Date: Wed, 8 Jul 2015 14:31:16 -0700 Message-ID: <20150708213116.GA31433@kroah.com> References: <20150708073237.780280770@linuxfoundation.org> <20150708073238.389781888@linuxfoundation.org> <559D5996.5080506@list.ru> <20150708173655.GA16101@kroah.com> <559D6DBE.4040900@list.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, Arnaud Ebalard , Thomas Petazzoni , Florian Fainelli , netdev@vger.kernel.org, Stas Sergeev , "David S. Miller" , Sebastien Rannou To: Stas Sergeev Return-path: Content-Disposition: inline In-Reply-To: <559D6DBE.4040900@list.ru> Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On Wed, Jul 08, 2015 at 09:36:46PM +0300, Stas Sergeev wrote: > 08.07.2015 20:36, Greg Kroah-Hartman =D0=BF=D0=B8=D1=88=D0=B5=D1=82: > >On Wed, Jul 08, 2015 at 08:10:46PM +0300, Stas Sergeev wrote: > >>08.07.2015 10:35, Greg Kroah-Hartman =D0=BF=D0=B8=D1=88=D0=B5=D1=82= : > >>>4.1-stable review patch. If anyone has any objections, please let= me know. > >>> > >>>------------------ > >>> > >>>From: Stas Sergeev > >>> > >>>[ Upstream commit 538761b794c1542f1c6e31eadd9d7aae118889f7 ] > >>> > >>>The commit 898b2970e2c9 ("mvneta: implement SGMII-based in-band li= nk state > >>>signaling") > >>>changed mvneta_adjust_link() so that it does not clear the auto-ne= gotiation > >>>bits in MVNETA_GMAC_AUTONEG_CONFIG register. This was necessary fo= r > >>>auto-negotiation mode to work. > >>>Unfortunately I haven't checked if these bits are ever initialized= =2E > >>>It appears they are not. > >>>This patch adds the missing initialization of the auto-negotiation= bits > >>>in the MVNETA_GMAC_AUTONEG_CONFIG register. > >>>It fixes the following regression: > >>>https://www.mail-archive.com/netdev@vger.kernel.org/msg67928.html > >>> > >>>Since the patch was tested to fix a regression, it should be appli= ed to > >>>stable tree. > >>> > >>>Tested-by: Arnaud Ebalard > >>> > >>>CC: Thomas Petazzoni > >>>CC: Florian Fainelli > >>>CC: netdev@vger.kernel.org > >>>CC: linux-kernel@vger.kernel.org > >>>CC: stable@vger.kernel.org > >>> > >>>Signed-off-by: Stas Sergeev > >>>Signed-off-by: David S. Miller > >>>Signed-off-by: Greg Kroah-Hartman > >>>--- > >>> drivers/net/ethernet/marvell/mvneta.c | 6 ++++++ > >>> 1 file changed, 6 insertions(+) > >>> > >>>--- a/drivers/net/ethernet/marvell/mvneta.c > >>>+++ b/drivers/net/ethernet/marvell/mvneta.c > >>>@@ -1013,6 +1013,12 @@ static void mvneta_defaults_set(struct m > >>> val =3D mvreg_read(pp, MVNETA_GMAC_CLOCK_DIVIDER); > >>> val |=3D MVNETA_GMAC_1MS_CLOCK_ENABLE; > >>> mvreg_write(pp, MVNETA_GMAC_CLOCK_DIVIDER, val); > >>>+ } else { > >>>+ val =3D mvreg_read(pp, MVNETA_GMAC_AUTONEG_CONFIG); > >>>+ val &=3D ~(MVNETA_GMAC_INBAND_AN_ENABLE | > >>>+ MVNETA_GMAC_AN_SPEED_EN | > >>>+ MVNETA_GMAC_AN_DUPLEX_EN); > >>>+ mvreg_write(pp, MVNETA_GMAC_AUTONEG_CONFIG, val); > >>> } > >>> mvneta_set_ucast_table(pp, -1); > >>Hi Greg. > >> > >>Another problem was reported: > >>https://lkml.org/lkml/2015/7/8/865 > >> > >>So, while the above patch is correct and fixes what > >>it should, the original patch has more problems to deal > >>with. Maybe for stable it would be better to just revert > >>the whole thing? > >No, you will have to fix this in Linus's tree, right? So I'll take = the > >patch that you get into there when that happens, I don't want to div= erge > >from what is in that tree. > For Linus tree I am planning a new DT property to explicitly > enable the inband status. I don't see any quick fix suitable for > -stable, and new DT property will likely not be quickly accepted. > If you don't want a revert, then the stable will likely have that > regression for quite long, that's the warning. That's fine, we will be in sync with Linus's tree, so all is fine, and it might spur people to get the thing fixed properly faster :) thanks, greg k-h