net: rdma: use __ethtool_get_ksettings

Signed-off-by: David Decotigny <decot@googlers.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David Decotigny 2016-02-24 10:58:07 -08:00 коммит произвёл David S. Miller
Родитель 008eb73693
Коммит 17605b961f
1 изменённых файлов: 6 добавлений и 8 удалений

Просмотреть файл

@ -262,24 +262,22 @@ static inline enum ib_mtu iboe_get_mtu(int mtu)
static inline int iboe_get_rate(struct net_device *dev) static inline int iboe_get_rate(struct net_device *dev)
{ {
struct ethtool_cmd cmd; struct ethtool_link_ksettings cmd;
u32 speed;
int err; int err;
rtnl_lock(); rtnl_lock();
err = __ethtool_get_settings(dev, &cmd); err = __ethtool_get_link_ksettings(dev, &cmd);
rtnl_unlock(); rtnl_unlock();
if (err) if (err)
return IB_RATE_PORT_CURRENT; return IB_RATE_PORT_CURRENT;
speed = ethtool_cmd_speed(&cmd); if (cmd.base.speed >= 40000)
if (speed >= 40000)
return IB_RATE_40_GBPS; return IB_RATE_40_GBPS;
else if (speed >= 30000) else if (cmd.base.speed >= 30000)
return IB_RATE_30_GBPS; return IB_RATE_30_GBPS;
else if (speed >= 20000) else if (cmd.base.speed >= 20000)
return IB_RATE_20_GBPS; return IB_RATE_20_GBPS;
else if (speed >= 10000) else if (cmd.base.speed >= 10000)
return IB_RATE_10_GBPS; return IB_RATE_10_GBPS;
else else
return IB_RATE_PORT_CURRENT; return IB_RATE_PORT_CURRENT;