From patchwork Wed Jan 30 17:00:12 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?TWFoZXNoIEJhbmRld2FyICjgpK7gpLngpYfgpLYg4KSs4KSC4KSh4KWH4KS14KS+4KSwKQ==?= X-Patchwork-Id: 216960 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 317B32C0077 for ; Thu, 31 Jan 2013 07:59:12 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754572Ab3A3RAS (ORCPT ); Wed, 30 Jan 2013 12:00:18 -0500 Received: from mail-yh0-f74.google.com ([209.85.213.74]:40980 "EHLO mail-yh0-f74.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753737Ab3A3RAQ (ORCPT ); Wed, 30 Jan 2013 12:00:16 -0500 Received: by mail-yh0-f74.google.com with SMTP id z6so170167yhz.3 for ; Wed, 30 Jan 2013 09:00:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer; bh=/DcDZiHQO9ggVNVZHS3shjESwLjghevoMbH9tzXyuMg=; b=i+MU4fXqDcYpnppxcLV0dDm4a0WHDVduE3nEWSEjWLPS+UPLP26I3OdMgvg0D1gle7 uCPowzDSDksbyOdGLivMBmkB7n1sRd5K1PZ0aMCr33vLsf4/xQsexWUxGG9VsmVpEcRm i71cSx7IMsmXAmKNu4OOzOBT0cHf4zXtX/6NHvWVFH8qa0VNLK/3bUfm8rg35Hw+u4Nz hfIbkT4TVAJO1MPkucK2J+bRWPS+We5192q48Yukn9mur+qfIoFawAqizc64py9bOsi9 pv7yX32N/r6RVV3zylIB/84vkIsad+RhKxKVLYM65ETxQFnFptBPVLie1gNS61YfdKKN nJmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer :x-gm-message-state; bh=/DcDZiHQO9ggVNVZHS3shjESwLjghevoMbH9tzXyuMg=; b=YCZFW/OZCZlZ4hEu+a12gAfHJqdbYtM+zcKvoTTTE6h0tEjfA4qmSxKrPPloDQNbWr 7vYB5cxBQvWnqvN0Et2gPh3yLPP3NUjo1bPXCuRyMOXkHFnulGxfXxcpaFvF3pQZgyyp rhGa4z+oW7sIefn+vAunymyW0P/afs+kNt02IKlRH2jE8MKLyADDUkEBCXL1f95nThUC MfUp3bVmmtaZE4obf4P+MeJ+VxohPM1WxIS/S8ExljNt3HRuNqpYZOW8esUmDqbj4CSF pVwz8sUrTE8BGqs0fNaPmhM4lW8sEGXwn3B/+/Qsymgw04jHPZ9t3BgDNm9jy7RoENz+ XbJw== X-Received: by 10.236.191.136 with SMTP id g8mr2414110yhn.33.1359565215918; Wed, 30 Jan 2013 09:00:15 -0800 (PST) Received: from corp2gmr1-1.hot.corp.google.com (corp2gmr1-1.hot.corp.google.com [172.24.189.92]) by gmr-mx.google.com with ESMTPS id f64si78072yhj.7.2013.01.30.09.00.15 (version=TLSv1.1 cipher=AES128-SHA bits=128/128); Wed, 30 Jan 2013 09:00:15 -0800 (PST) Received: from coldfire.mtv.corp.google.com (coldfire.mtv.corp.google.com [172.17.131.114]) by corp2gmr1-1.hot.corp.google.com (Postfix) with ESMTP id C104A31C102; Wed, 30 Jan 2013 09:00:15 -0800 (PST) Received: by coldfire.mtv.corp.google.com (Postfix, from userid 109155) id 607D2140BD0; Wed, 30 Jan 2013 09:00:15 -0800 (PST) From: Mahesh Bandewar To: Eilon Greenstein , Yaniv , David Miller Cc: netdev , Mahesh Bandewar Subject: [PATCHv1] net-bnx2x: Force link UP when the interface is in LOOPBACK mode Date: Wed, 30 Jan 2013 09:00:12 -0800 Message-Id: <1359565212-11104-1-git-send-email-maheshb@google.com> X-Mailer: git-send-email 1.8.1 X-Gm-Message-State: ALoCoQnqvVHkVeNEnt85xMCEms9ohCXvun8DnT9L/Lpzwf6RkQ9jR5PuVHJcSK5HGy8CVPaTUAwfwcQEWyDYtAPNiIbfZqnvmFvW3K3koLTpZqkENUVQxnseTQ2jXhY0pn7+O4gHCYko5SaljUyC/qPkLeZPAoDun/GDzhWbbzS4zMaJj1tMiaifmBPQD9xYGriXXRLv2ACB Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When the interface does not have carrier but when it's put into loopback mode (for tests), it does not make sense to not have the carrier. So force it! Signed-off-by: Mahesh Bandewar Acked-by: Eilon Greenstein --- v1.0 : Added check to ensure it's not forced in LOOPBACK_EXT mode. drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c index 859df751345e..c6da77fa9d07 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_link.c @@ -4748,6 +4748,12 @@ void bnx2x_link_status_update(struct link_params *params, vars->link_status = REG_RD(bp, params->shmem_base + offsetof(struct shmem_region, port_mb[port].link_status)); + + /* Force link UP in non LOOPBACK_EXT loopback mode(s) */ + if (bp->link_params.loopback_mode != LOOPBACK_NONE && + bp->link_params.loopback_mode != LOOPBACK_EXT) + vars->link_status |= LINK_STATUS_LINK_UP; + if (bnx2x_eee_has_cap(params)) vars->eee_status = REG_RD(bp, params->shmem2_base + offsetof(struct shmem2_region,