net: ethoc: don't advertise gigabit speed on attached PHY
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 3 Feb 2014 23:33:09 +0000 (03:33 +0400)
committerDavid S. Miller <davem@davemloft.net>
Wed, 5 Feb 2014 04:19:51 +0000 (20:19 -0800)
OpenCores 10/100 Mbps MAC does not support speeds above 100 Mbps, but does
not disable advertisement when PHY supports them. This results in
non-functioning network when the MAC is connected to a gigabit PHY connected
to a gigabit switch.

The fix is to disable gigabit speed advertisement on attached PHY
unconditionally.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ethoc.c

index f9c1cf5362985d2d73650b9a0bfd28aae662460d..0a8533c0c01a42bd8917d3a8aa72aa0f078ef120 100644 (file)
@@ -691,6 +691,11 @@ static int ethoc_mdio_probe(struct net_device *dev)
        }
 
        priv->phy = phy;
+       phy->advertising &= ~(ADVERTISED_1000baseT_Full |
+                             ADVERTISED_1000baseT_Half);
+       phy->supported &= ~(SUPPORTED_1000baseT_Full |
+                           SUPPORTED_1000baseT_Half);
+
        return 0;
 }