The link speed is available at /sys/class/net/$nic/speed. However, the speed is printed in unsigned integer format. This makes userspace applications read an incorrect value (which moreover changes through several architectures) while in fact '-1' should be reported.
Before the change: # cat /sys/class/net/eth0/speed 4294967295 After the change: # cat /sys/class/net/eth0/speed -1 Signed-off-by: Michal Privoznik <mpriv...@redhat.com> --- net/core/net-sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c index 1cac29e..99afdea 100644 --- a/net/core/net-sysfs.c +++ b/net/core/net-sysfs.c @@ -173,7 +173,7 @@ static ssize_t speed_show(struct device *dev, if (netif_running(netdev)) { struct ethtool_cmd cmd; if (!__ethtool_get_settings(netdev, &cmd)) - ret = sprintf(buf, fmt_udec, ethtool_cmd_speed(&cmd)); + ret = sprintf(buf, fmt_dec, ethtool_cmd_speed(&cmd)); } rtnl_unlock(); return ret; -- 2.0.0 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/