From: Ajit Khaparde Date: Thu, 29 Jul 2010 06:17:17 +0000 (+0000) Subject: be2net: change to show correct physical link status X-Git-Tag: v2.6.36-rc1~571^2~50 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=48e9989e033966fd738d062ea9730fe10085fdd1;p=~emulex%2Finfiniband.git 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 Signed-off-by: Ajit Khaparde Signed-off-by: David S. Miller --- diff --git a/drivers/net/benet/be_ethtool.c b/drivers/net/benet/be_ethtool.c index c0ade242895..cd16243c7c3 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;