net: add unknown state to sysfs NIC duplex export
Currently when the NIC duplex state is DUPLEX_UNKNOWN it is exported as full through sysfs, this patch adds support for DUPLEX_UNKNOWN. It is handled the same way as in ethtool. Signed-off-by: Nikolay Aleksandrov <naleksan@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f6fe569fe0
commit
c6c13965f4
@ -166,9 +166,21 @@ static ssize_t show_duplex(struct device *dev,
|
|||||||
|
|
||||||
if (netif_running(netdev)) {
|
if (netif_running(netdev)) {
|
||||||
struct ethtool_cmd cmd;
|
struct ethtool_cmd cmd;
|
||||||
if (!__ethtool_get_settings(netdev, &cmd))
|
if (!__ethtool_get_settings(netdev, &cmd)) {
|
||||||
ret = sprintf(buf, "%s\n",
|
const char *duplex;
|
||||||
cmd.duplex ? "full" : "half");
|
switch (cmd.duplex) {
|
||||||
|
case DUPLEX_HALF:
|
||||||
|
duplex = "half";
|
||||||
|
break;
|
||||||
|
case DUPLEX_FULL:
|
||||||
|
duplex = "full";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
duplex = "unknown";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
ret = sprintf(buf, "%s\n", duplex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user