提交 7cad1bac 编写于 作者: D David Decotigny 提交者: David S. Miller

net: core: use __ethtool_get_ksettings

Signed-off-by: NDavid Decotigny <decot@googlers.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 702b26a2
...@@ -198,9 +198,10 @@ static ssize_t speed_show(struct device *dev, ...@@ -198,9 +198,10 @@ static ssize_t speed_show(struct device *dev,
return restart_syscall(); return restart_syscall();
if (netif_running(netdev)) { if (netif_running(netdev)) {
struct ethtool_cmd cmd; struct ethtool_link_ksettings cmd;
if (!__ethtool_get_settings(netdev, &cmd))
ret = sprintf(buf, fmt_dec, ethtool_cmd_speed(&cmd)); if (!__ethtool_get_link_ksettings(netdev, &cmd))
ret = sprintf(buf, fmt_dec, cmd.base.speed);
} }
rtnl_unlock(); rtnl_unlock();
return ret; return ret;
...@@ -217,10 +218,12 @@ static ssize_t duplex_show(struct device *dev, ...@@ -217,10 +218,12 @@ static ssize_t duplex_show(struct device *dev,
return restart_syscall(); return restart_syscall();
if (netif_running(netdev)) { if (netif_running(netdev)) {
struct ethtool_cmd cmd; struct ethtool_link_ksettings cmd;
if (!__ethtool_get_settings(netdev, &cmd)) {
if (!__ethtool_get_link_ksettings(netdev, &cmd)) {
const char *duplex; const char *duplex;
switch (cmd.duplex) {
switch (cmd.base.duplex) {
case DUPLEX_HALF: case DUPLEX_HALF:
duplex = "half"; duplex = "half";
break; break;
......
...@@ -557,9 +557,8 @@ static int prb_calc_retire_blk_tmo(struct packet_sock *po, ...@@ -557,9 +557,8 @@ static int prb_calc_retire_blk_tmo(struct packet_sock *po,
{ {
struct net_device *dev; struct net_device *dev;
unsigned int mbits = 0, msec = 0, div = 0, tmo = 0; unsigned int mbits = 0, msec = 0, div = 0, tmo = 0;
struct ethtool_cmd ecmd; struct ethtool_link_ksettings ecmd;
int err; int err;
u32 speed;
rtnl_lock(); rtnl_lock();
dev = __dev_get_by_index(sock_net(&po->sk), po->ifindex); 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, ...@@ -567,19 +566,19 @@ static int prb_calc_retire_blk_tmo(struct packet_sock *po,
rtnl_unlock(); rtnl_unlock();
return DEFAULT_PRB_RETIRE_TOV; return DEFAULT_PRB_RETIRE_TOV;
} }
err = __ethtool_get_settings(dev, &ecmd); err = __ethtool_get_link_ksettings(dev, &ecmd);
speed = ethtool_cmd_speed(&ecmd);
rtnl_unlock(); rtnl_unlock();
if (!err) { if (!err) {
/* /*
* If the link speed is so slow you don't really * If the link speed is so slow you don't really
* need to worry about perf anyways * 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; return DEFAULT_PRB_RETIRE_TOV;
} else { } else {
msec = 1; msec = 1;
div = speed / 1000; div = ecmd.base.speed / 1000;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册