diff options
author | Ajit Khaparde <ajitk@serverengines.com> | 2010-07-29 06:17:17 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-30 23:59:06 -0700 |
commit | 48e9989e033966fd738d062ea9730fe10085fdd1 (patch) | |
tree | 03aac4b4c8ac5f17ac714e777523f23bab7578a1 /drivers/net/benet/be_ethtool.c | |
parent | 7c185276e8d820fa50a678c61abd611ee599920e (diff) |
be2net: change to show correct physical link status
link status is wrongly displayed under certain circumstances.
This change fixes it.
Signed-off-by: Somnath K <somnathk@serverengines.com>
Signed-off-by: Ajit Khaparde <ajitk@serverengines.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/benet/be_ethtool.c')
-rw-r--r-- | drivers/net/benet/be_ethtool.c | 3 |
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) int status; u16 intf_type; - if (adapter->link_speed < 0) { + if ((adapter->link_speed < 0) || (!(netdev->flags & IFF_UP))) { status = be_cmd_link_status_query(adapter, &link_up, &mac_speed, &link_speed); + be_link_status_update(adapter, link_up); /* link_speed is in units of 10 Mbps */ if (link_speed) { ecmd->speed = link_speed*10; |