diff options
Diffstat (limited to 'net/core/net-sysfs.c')
| -rw-r--r-- | net/core/net-sysfs.c | 24 | 
1 files changed, 10 insertions, 14 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 5ceb257e860..381813eae46 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -28,6 +28,7 @@  static const char fmt_hex[] = "%#x\n";  static const char fmt_long_hex[] = "%#lx\n";  static const char fmt_dec[] = "%d\n"; +static const char fmt_udec[] = "%u\n";  static const char fmt_ulong[] = "%lu\n";  static const char fmt_u64[] = "%llu\n"; @@ -145,13 +146,10 @@ static ssize_t show_speed(struct device *dev,  	if (!rtnl_trylock())  		return restart_syscall(); -	if (netif_running(netdev) && -	    netdev->ethtool_ops && -	    netdev->ethtool_ops->get_settings) { -		struct ethtool_cmd cmd = { ETHTOOL_GSET }; - -		if (!netdev->ethtool_ops->get_settings(netdev, &cmd)) -			ret = sprintf(buf, fmt_dec, ethtool_cmd_speed(&cmd)); +	if (netif_running(netdev)) { +		struct ethtool_cmd cmd; +		if (!dev_ethtool_get_settings(netdev, &cmd)) +			ret = sprintf(buf, fmt_udec, ethtool_cmd_speed(&cmd));  	}  	rtnl_unlock();  	return ret; @@ -166,13 +164,11 @@ static ssize_t show_duplex(struct device *dev,  	if (!rtnl_trylock())  		return restart_syscall(); -	if (netif_running(netdev) && -	    netdev->ethtool_ops && -	    netdev->ethtool_ops->get_settings) { -		struct ethtool_cmd cmd = { ETHTOOL_GSET }; - -		if (!netdev->ethtool_ops->get_settings(netdev, &cmd)) -			ret = sprintf(buf, "%s\n", cmd.duplex ? "full" : "half"); +	if (netif_running(netdev)) { +		struct ethtool_cmd cmd; +		if (!dev_ethtool_get_settings(netdev, &cmd)) +			ret = sprintf(buf, "%s\n", +				      cmd.duplex ? "full" : "half");  	}  	rtnl_unlock();  	return ret;  |