Patch "mvneta: add forgotten initialization of autonegotiation bits" has been added to the 4.1-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
mvneta: add forgotten initialization of autonegotiation bits
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mvneta-add-forgotten-initialization-of-autonegotiation-bits.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Fri Jul 3 20:00:25 PDT 2015
From: Stas Sergeev <[email protected]>
Date: Thu, 18 Jun 2015 18:36:03 +0300
Subject: mvneta: add forgotten initialization of autonegotiation bits
From: Stas Sergeev <[email protected]>
[ Upstream commit 538761b794c1542f1c6e31eadd9d7aae118889f7 ]
The commit 898b2970e2c9 ("mvneta: implement SGMII-based in-band link state signaling")
changed mvneta_adjust_link() so that it does not clear the auto-negotiation bits in MVNETA_GMAC_AUTONEG_CONFIG register. This was necessary for auto-negotiation mode to work.
Unfortunately I haven't checked if these bits are ever initialized. 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/[email protected]/msg67928.html
Since the patch was tested to fix a regression, it should be applied to stable tree.
--- drivers/net/ethernet/marvell/mvneta.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/net/ethernet/marvell/mvneta.c +6 -0
@@ -1013,6 +1013,12 @@ static void mvneta_defaults_set(struct m val =mvreg_read (pp,MVNETA_GMAC_CLOCK_DIVIDER ); val |=MVNETA_GMAC_1MS_CLOCK_ENABLE ;mvreg_write (pp,MVNETA_GMAC_CLOCK_DIVIDER , val); + }else { + val =mvreg_read (pp,MVNETA_GMAC_AUTONEG_CONFIG ); + val &= ~(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 );
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/mvneta-add-forgotten-initialization-of-autonegotiation-bits.patch