aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea_ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ehea/ehea_ethtool.c')
-rw-r--r--drivers/net/ehea/ehea_ethtool.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/drivers/net/ehea/ehea_ethtool.c b/drivers/net/ehea/ehea_ethtool.c
index 5f13491cf2a..1df5f40c646 100644
--- a/drivers/net/ehea/ehea_ethtool.c
+++ b/drivers/net/ehea/ehea_ethtool.c
@@ -34,6 +34,7 @@
34static int ehea_get_settings(struct net_device *dev, struct ethtool_cmd *cmd) 34static int ehea_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
35{ 35{
36 struct ehea_port *port = netdev_priv(dev); 36 struct ehea_port *port = netdev_priv(dev);
37 u32 speed;
37 int ret; 38 int ret;
38 39
39 ret = ehea_sense_port_attr(port); 40 ret = ehea_sense_port_attr(port);
@@ -43,17 +44,29 @@ static int ehea_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
43 44
44 if (netif_carrier_ok(dev)) { 45 if (netif_carrier_ok(dev)) {
45 switch (port->port_speed) { 46 switch (port->port_speed) {
46 case EHEA_SPEED_10M: cmd->speed = SPEED_10; break; 47 case EHEA_SPEED_10M:
47 case EHEA_SPEED_100M: cmd->speed = SPEED_100; break; 48 speed = SPEED_10;
48 case EHEA_SPEED_1G: cmd->speed = SPEED_1000; break; 49 break;
49 case EHEA_SPEED_10G: cmd->speed = SPEED_10000; break; 50 case EHEA_SPEED_100M:
51 speed = SPEED_100;
52 break;
53 case EHEA_SPEED_1G:
54 speed = SPEED_1000;
55 break;
56 case EHEA_SPEED_10G:
57 speed = SPEED_10000;
58 break;
59 default:
60 speed = -1;
61 break; /* BUG */
50 } 62 }
51 cmd->duplex = port->full_duplex == 1 ? 63 cmd->duplex = port->full_duplex == 1 ?
52 DUPLEX_FULL : DUPLEX_HALF; 64 DUPLEX_FULL : DUPLEX_HALF;
53 } else { 65 } else {
54 cmd->speed = -1; 66 speed = ~0;
55 cmd->duplex = -1; 67 cmd->duplex = -1;
56 } 68 }
69 ethtool_cmd_speed_set(cmd, speed);
57 70
58 cmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_1000baseT_Full 71 cmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_1000baseT_Full
59 | SUPPORTED_100baseT_Full | SUPPORTED_100baseT_Half 72 | SUPPORTED_100baseT_Full | SUPPORTED_100baseT_Half