When moving from typhoon_get_settings to typhoon_getlink_ksettings
in the commit commit f7a5537cd2a5 ("net: 3com: typhoon: use new api
ethtool_{get|set}_link_ksettings"), we use a local variable supported
but we forgot to update the struct ethtool_link_ksettings with
this value.

We also initialize advertising to zero, because otherwise it may
be uninitialized if no case of the switch (tp->xcvr_select) is used.

Signed-off-by: Philippe Reynes <trem...@gmail.com>
---
 drivers/net/ethernet/3com/typhoon.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/drivers/net/ethernet/3com/typhoon.c 
b/drivers/net/ethernet/3com/typhoon.c
index dbdf06f..a0cacbe 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -1000,7 +1000,7 @@ enum state_values {
                           struct ethtool_link_ksettings *cmd)
 {
        struct typhoon *tp = netdev_priv(dev);
-       u32 supported, advertising;
+       u32 supported, advertising = 0;
 
        supported = SUPPORTED_100baseT_Half | SUPPORTED_100baseT_Full |
                                SUPPORTED_Autoneg;
@@ -1049,6 +1049,11 @@ enum state_values {
        else
                cmd->base.autoneg = AUTONEG_DISABLE;
 
+       ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.supported,
+                                               supported);
+       ethtool_convert_legacy_u32_to_link_mode(cmd->link_modes.advertising,
+                                               advertising);
+
        return 0;
 }
 
-- 
1.7.4.4

Reply via email to