From 9215b7f4c0e24cceeac42d8ced5b4af824c4b011 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yann=20C=C3=A9zard?= Date: Sun, 20 Mar 2011 12:29:05 +0000 Subject: [PATCH] [forcedeth] Clear the MII link status register on link status changes Signed-off-by: Michael Brown --- src/drivers/net/forcedeth.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/drivers/net/forcedeth.c b/src/drivers/net/forcedeth.c index 6876b005..918f502f 100644 --- a/src/drivers/net/forcedeth.c +++ b/src/drivers/net/forcedeth.c @@ -967,6 +967,12 @@ static void forcedeth_link_status ( struct net_device *netdev ) { struct forcedeth_private *priv = netdev_priv ( netdev ); + void *ioaddr = priv->mmio_addr; + u32 mii_status; + + /* Clear the MII link change status */ + mii_status = readl ( ioaddr + NvRegMIIStatus ); + writel ( NVREG_MIISTAT_LINKCHANGE, ioaddr + NvRegMIIStatus ); if ( nv_update_linkspeed ( priv ) == 1 ) netdev_link_up ( netdev );