From patchwork Thu Jul 29 16:17:17 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 60280 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6B94910083D for ; Fri, 30 Jul 2010 02:17:22 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758005Ab0G2QRR (ORCPT ); Thu, 29 Jul 2010 12:17:17 -0400 Received: from segment-124-30.sify.net ([124.30.166.146]:17310 "EHLO akhaparde.serverengines.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1754629Ab0G2QRR (ORCPT ); Thu, 29 Jul 2010 12:17:17 -0400 Received: by akhaparde.serverengines.com (Postfix, from userid 1000) id 8607F3206C; Thu, 29 Jul 2010 21:47:17 +0530 (IST) Date: Thu, 29 Jul 2010 21:47:17 +0530 From: Ajit Khaparde To: David Miller Cc: netdev Subject: [PATCH net-next 3/4] be2net: change to show correct physical link status Message-ID: <20100729161707.GA15506@serverengines.com> Reply-To: Ajit Khaparde MIME-Version: 1.0 Content-Disposition: inline X-URL: http://www.serverengines.com Organization: ServerEngines Corp User-Agent: "Ajit's Mutt" X-OS: Linux x86_64 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org link status is wrongly displayed under certain circumstances. This change fixes it. Signed-off-by: Somnath K Signed-off-by: Ajit Khaparde --- 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 c0ade24..cd16243 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;