OSDN Git Service

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 b11d58f..b756fc7 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;