net: mvneta: clear interface link status on port disable
authorYelena Krivosheev <yelena@marvell.com>
Tue, 19 Dec 2017 16:59:45 +0000 (17:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 20 Dec 2017 17:24:11 +0000 (12:24 -0500)
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]
Cc: <stable@vger.kernel.org>
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>
drivers/net/ethernet/marvell/mvneta.c

index bc93b69cfd1edcf62d11cd24d41a9ca74b8f0dcc..16b2bfb2cf5172fc8cb80739df4c6093721fa9a4 100644 (file)
@@ -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);
 }