Browse Source

[forcedeth] Clear the MII link status register on link status changes

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Yann Cézard 13 years ago
parent
commit
9215b7f4c0
1 changed files with 6 additions and 0 deletions
  1. 6
    0
      src/drivers/net/forcedeth.c

+ 6
- 0
src/drivers/net/forcedeth.c View File

967
 forcedeth_link_status ( struct net_device *netdev )
967
 forcedeth_link_status ( struct net_device *netdev )
968
 {
968
 {
969
 	struct forcedeth_private *priv = netdev_priv ( netdev );
969
 	struct forcedeth_private *priv = netdev_priv ( netdev );
970
+	void *ioaddr = priv->mmio_addr;
971
+	u32 mii_status;
972
+
973
+	/* Clear the MII link change status */
974
+	mii_status = readl ( ioaddr + NvRegMIIStatus );
975
+	writel ( NVREG_MIISTAT_LINKCHANGE, ioaddr + NvRegMIIStatus );
970
 
976
 
971
 	if ( nv_update_linkspeed ( priv ) == 1 )
977
 	if ( nv_update_linkspeed ( priv ) == 1 )
972
 		netdev_link_up ( netdev );
978
 		netdev_link_up ( netdev );

Loading…
Cancel
Save