aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/benet
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/benet')
-rw-r--r--drivers/net/benet/be_ethtool.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/benet/be_ethtool.c b/drivers/net/benet/be_ethtool.c
index c0ade242895d..cd16243c7c36 100644
--- a/drivers/net/benet/be_ethtool.c
+++ b/drivers/net/benet/be_ethtool.c
@@ -322,10 +322,11 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd)
322 int status; 322 int status;
323 u16 intf_type; 323 u16 intf_type;
324 324
325 if (adapter->link_speed < 0) { 325 if ((adapter->link_speed < 0) || (!(netdev->flags & IFF_UP))) {
326 status = be_cmd_link_status_query(adapter, &link_up, 326 status = be_cmd_link_status_query(adapter, &link_up,
327 &mac_speed, &link_speed); 327 &mac_speed, &link_speed);
328 328
329 be_link_status_update(adapter, link_up);
329 /* link_speed is in units of 10 Mbps */ 330 /* link_speed is in units of 10 Mbps */
330 if (link_speed) { 331 if (link_speed) {
331 ecmd->speed = link_speed*10; 332 ecmd->speed = link_speed*10;