summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYelena Krivosheev <yelena@marvell.com>2017-12-19 17:59:45 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-12-29 17:53:49 +0100
commitb7c0181c47c4369cfccd97bca7e9e211026aa94c (patch)
treef4d006fc23f24dd3b25e048b0724500f54b6df07
parent01b1a29e32c13c69c0fd8a70e6cd66ac91316862 (diff)
downloadlinux-stable-b7c0181c47c4369cfccd97bca7e9e211026aa94c.tar.gz
linux-stable-b7c0181c47c4369cfccd97bca7e9e211026aa94c.tar.bz2
linux-stable-b7c0181c47c4369cfccd97bca7e9e211026aa94c.zip
net: mvneta: clear interface link status on port disable
commit 4423c18e466afdfb02a36ee8b9f901d144b3c607 upstream. When port connect to PHY in polling mode (with poll interval 1 sec), port and phy link status must be synchronize in order don't loss link change event. [gregory.clement@free-electrons.com: add fixes tag] Fixes: c5aff18204da ("net: mvneta: driver for Marvell Armada 370/XP network unit") Signed-off-by: Yelena Krivosheev <yelena@marvell.com> Tested-by: Dmitri Epshtein <dima@marvell.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/net/ethernet/marvell/mvneta.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c
index bc93b69cfd1e..16b2bfb2cf51 100644
--- a/drivers/net/ethernet/marvell/mvneta.c
+++ b/drivers/net/ethernet/marvell/mvneta.c
@@ -1214,6 +1214,10 @@ static void mvneta_port_disable(struct mvneta_port *pp)
val &= ~MVNETA_GMAC0_PORT_ENABLE;
mvreg_write(pp, MVNETA_GMAC_CTRL_0, val);
+ pp->link = 0;
+ pp->duplex = -1;
+ pp->speed = 0;
+
udelay(200);
}