net: core: use __ethtool_get_ksettings
authorDavid Decotigny <decot@googlers.com>
Wed, 24 Feb 2016 18:58:10 +0000 (10:58 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 Feb 2016 03:06:47 +0000 (22:06 -0500)
Signed-off-by: David Decotigny <decot@googlers.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/net-sysfs.c
net/packet/af_packet.c

index 4ae17c3166fc99cddf4973a51493f1e1d9d3a8f9..2b3f76fe65f49f8018c63aa44b345262fb40cde7 100644 (file)
@@ -198,9 +198,10 @@ static ssize_t speed_show(struct device *dev,
                return restart_syscall();
 
        if (netif_running(netdev)) {
-               struct ethtool_cmd cmd;
-               if (!__ethtool_get_settings(netdev, &cmd))
-                       ret = sprintf(buf, fmt_dec, ethtool_cmd_speed(&cmd));
+               struct ethtool_link_ksettings cmd;
+
+               if (!__ethtool_get_link_ksettings(netdev, &cmd))
+                       ret = sprintf(buf, fmt_dec, cmd.base.speed);
        }
        rtnl_unlock();
        return ret;
@@ -217,10 +218,12 @@ static ssize_t duplex_show(struct device *dev,
                return restart_syscall();
 
        if (netif_running(netdev)) {
-               struct ethtool_cmd cmd;
-               if (!__ethtool_get_settings(netdev, &cmd)) {
+               struct ethtool_link_ksettings cmd;
+
+               if (!__ethtool_get_link_ksettings(netdev, &cmd)) {
                        const char *duplex;
-                       switch (cmd.duplex) {
+
+                       switch (cmd.base.duplex) {
                        case DUPLEX_HALF:
                                duplex = "half";
                                break;
index b7e7851ddc5d079f246e96ffe2372d659376258e..d41b1074cb2df067e30be5bb0a2c01f7b73e0729 100644 (file)
@@ -557,9 +557,8 @@ static int prb_calc_retire_blk_tmo(struct packet_sock *po,
 {
        struct net_device *dev;
        unsigned int mbits = 0, msec = 0, div = 0, tmo = 0;
-       struct ethtool_cmd ecmd;
+       struct ethtool_link_ksettings ecmd;
        int err;
-       u32 speed;
 
        rtnl_lock();
        dev = __dev_get_by_index(sock_net(&po->sk), po->ifindex);
@@ -567,19 +566,19 @@ static int prb_calc_retire_blk_tmo(struct packet_sock *po,
                rtnl_unlock();
                return DEFAULT_PRB_RETIRE_TOV;
        }
-       err = __ethtool_get_settings(dev, &ecmd);
-       speed = ethtool_cmd_speed(&ecmd);
+       err = __ethtool_get_link_ksettings(dev, &ecmd);
        rtnl_unlock();
        if (!err) {
                /*
                 * If the link speed is so slow you don't really
                 * need to worry about perf anyways
                 */
-               if (speed < SPEED_1000 || speed == SPEED_UNKNOWN) {
+               if (ecmd.base.speed < SPEED_1000 ||
+                   ecmd.base.speed == SPEED_UNKNOWN) {
                        return DEFAULT_PRB_RETIRE_TOV;
                } else {
                        msec = 1;
-                       div = speed / 1000;
+                       div = ecmd.base.speed / 1000;
                }
        }