| From ceb628134a75564d7bfa8e4ef902e6e588339e11 Mon Sep 17 00:00:00 2001 |
| From: Florian Fainelli <f.fainelli@gmail.com> |
| Date: Wed, 20 Sep 2017 15:52:14 -0700 |
| Subject: net: phy: Keep reporting transceiver type |
| |
| From: Florian Fainelli <f.fainelli@gmail.com> |
| |
| commit ceb628134a75564d7bfa8e4ef902e6e588339e11 upstream. |
| |
| With commit 2d55173e71b0 ("phy: add generic function to support |
| ksetting support"), we lost the ability to report the transceiver type |
| like we used to. Now that we have added back the transceiver type to |
| ethtool_link_settings, we can report it back like we used to and have no |
| loss of information. |
| |
| Fixes: 3f1ac7a700d0 ("net: ethtool: add new ETHTOOL_xLINKSETTINGS API") |
| Fixes: 2d55173e71b0 ("phy: add generic function to support ksetting support") |
| Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/net/phy/phy.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/phy/phy.c |
| +++ b/drivers/net/phy/phy.c |
| @@ -463,7 +463,8 @@ int phy_ethtool_ksettings_get(struct phy |
| cmd->base.port = PORT_BNC; |
| else |
| cmd->base.port = PORT_MII; |
| - |
| + cmd->base.transceiver = phy_is_internal(phydev) ? |
| + XCVR_INTERNAL : XCVR_EXTERNAL; |
| cmd->base.phy_address = phydev->mdio.addr; |
| cmd->base.autoneg = phydev->autoneg; |
| cmd->base.eth_tp_mdix_ctrl = phydev->mdix; |