net: phy: update the mdix_ctrl with correct value.
authorRaju Lakkaraju <Raju.Lakkaraju@microsemi.com>
Tue, 29 Nov 2016 09:46:47 +0000 (15:16 +0530)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Dec 2016 16:26:47 +0000 (11:26 -0500)
Update the mdix and mdix_ctrl with corresponding ethtool configuration
parameters.

Signed-off-by: Raju Lakkaraju <Raju.Lakkaraju@microsemi.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy.c

index a3981cc6448a068032e596a534ad2322e6dc7883..25f93a98863b79be76ac72b814d5dd4ff75c89a9 100644 (file)
@@ -389,7 +389,7 @@ int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd)
 
        phydev->duplex = cmd->duplex;
 
-       phydev->mdix = cmd->eth_tp_mdix_ctrl;
+       phydev->mdix_ctrl = cmd->eth_tp_mdix_ctrl;
 
        /* Restart the PHY */
        phy_start_aneg(phydev);
@@ -443,7 +443,7 @@ int phy_ethtool_ksettings_set(struct phy_device *phydev,
 
        phydev->duplex = duplex;
 
-       phydev->mdix = cmd->base.eth_tp_mdix_ctrl;
+       phydev->mdix_ctrl = cmd->base.eth_tp_mdix_ctrl;
 
        /* Restart the PHY */
        phy_start_aneg(phydev);
@@ -469,7 +469,8 @@ int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd)
        cmd->transceiver = phy_is_internal(phydev) ?
                XCVR_INTERNAL : XCVR_EXTERNAL;
        cmd->autoneg = phydev->autoneg;
-       cmd->eth_tp_mdix_ctrl = phydev->mdix;
+       cmd->eth_tp_mdix_ctrl = phydev->mdix_ctrl;
+       cmd->eth_tp_mdix = phydev->mdix;
 
        return 0;
 }
@@ -496,7 +497,8 @@ int phy_ethtool_ksettings_get(struct phy_device *phydev,
 
        cmd->base.phy_address = phydev->mdio.addr;
        cmd->base.autoneg = phydev->autoneg;
-       cmd->base.eth_tp_mdix_ctrl = phydev->mdix;
+       cmd->base.eth_tp_mdix_ctrl = phydev->mdix_ctrl;
+       cmd->base.eth_tp_mdix = phydev->mdix;
 
        return 0;
 }