net: phy: mscc: add missing shift for media operation mode selection
authorAntoine Tenart <antoine.tenart@bootlin.com>
Wed, 26 Feb 2020 14:40:34 +0000 (15:40 +0100)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Feb 2020 04:51:42 +0000 (20:51 -0800)
This patch adds a missing shift for the media operation mode selection.
This does not fix the driver as the current operation mode (copper) has
a value of 0, but this wouldn't work for other modes.

Signed-off-by: Antoine Tenart <antoine.tenart@bootlin.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/mscc.c

index 937ac7d..8804254 100644 (file)
@@ -2813,8 +2813,8 @@ static int vsc8584_config_init(struct phy_device *phydev)
 
        val = phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1);
        val &= ~(MEDIA_OP_MODE_MASK | VSC8584_MAC_IF_SELECTION_MASK);
-       val |= MEDIA_OP_MODE_COPPER | (VSC8584_MAC_IF_SELECTION_SGMII <<
-                                      VSC8584_MAC_IF_SELECTION_POS);
+       val |= (MEDIA_OP_MODE_COPPER << MEDIA_OP_MODE_POS) |
+              (VSC8584_MAC_IF_SELECTION_SGMII << VSC8584_MAC_IF_SELECTION_POS);
        ret = phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, val);
 
        ret = genphy_soft_reset(phydev);
@@ -3276,7 +3276,7 @@ static int vsc8514_config_init(struct phy_device *phydev)
                return ret;
 
        ret = phy_modify(phydev, MSCC_PHY_EXT_PHY_CNTL_1, MEDIA_OP_MODE_MASK,
-                        MEDIA_OP_MODE_COPPER);
+                        MEDIA_OP_MODE_COPPER << MEDIA_OP_MODE_POS);
 
        if (ret)
                return ret;