net: bcmgenet: Fix speed selection for reverse MII
authorAndrew Lunn <andrew@lunn.ch>
Tue, 11 Sep 2018 23:53:12 +0000 (01:53 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Sep 2018 03:24:21 +0000 (20:24 -0700)
The phy supported speed is being used to determine if the MAC should
be configured to 100 or 1G. The masking logic is broken. Instead, look
at 1G supported speeds to enable 1G MAC support.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/genet/bcmmii.c

index b11d58f1bf454645c36e583f2d0ea03021f085c2..b756fc79424e6b73f4d5369477a26fa3ac93bc81 100644 (file)
@@ -226,11 +226,10 @@ int bcmgenet_mii_config(struct net_device *dev, bool init)
                 * capabilities, use that knowledge to also configure the
                 * Reverse MII interface correctly.
                 */
-               if ((dev->phydev->supported & PHY_BASIC_FEATURES) ==
-                               PHY_BASIC_FEATURES)
-                       port_ctrl = PORT_MODE_EXT_RVMII_25;
-               else
+               if (dev->phydev->supported & PHY_1000BT_FEATURES)
                        port_ctrl = PORT_MODE_EXT_RVMII_50;
+               else
+                       port_ctrl = PORT_MODE_EXT_RVMII_25;
                bcmgenet_sys_writel(priv, port_ctrl, SYS_PORT_CTRL);
                break;