diff options
Diffstat (limited to 'include/rdma/ib_addr.h')
| -rw-r--r-- | include/rdma/ib_addr.h | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index b5fc9f39122..ae8c68f30f1 100644 --- a/include/rdma/ib_addr.h +++ b/include/rdma/ib_addr.h @@ -217,18 +217,19 @@ static inline enum ib_mtu iboe_get_mtu(int mtu)  static inline int iboe_get_rate(struct net_device *dev)  {  	struct ethtool_cmd cmd; +	u32 speed; -	if (!dev->ethtool_ops || !dev->ethtool_ops->get_settings || -	    dev->ethtool_ops->get_settings(dev, &cmd)) +	if (dev_ethtool_get_settings(dev, &cmd))  		return IB_RATE_PORT_CURRENT; -	if (cmd.speed >= 40000) +	speed = ethtool_cmd_speed(&cmd); +	if (speed >= 40000)  		return IB_RATE_40_GBPS; -	else if (cmd.speed >= 30000) +	else if (speed >= 30000)  		return IB_RATE_30_GBPS; -	else if (cmd.speed >= 20000) +	else if (speed >= 20000)  		return IB_RATE_20_GBPS; -	else if (cmd.speed >= 10000) +	else if (speed >= 10000)  		return IB_RATE_10_GBPS;  	else  		return IB_RATE_PORT_CURRENT;  |