Netdev List
 help / color / mirror / Atom feed
From: Shreyas Bhatewara <sbhatewara@vmware.com>
To: netdev@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, pv-drivers@vmware.com
Subject: [PATCH 2.6.35-rc1] net-next: vmxnet3 fixes [3/5] Initialize link state at probe time
Date: Tue, 13 Jul 2010 17:48:55 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LRH.2.00.1007131748180.32055@localhost.localdomain> (raw)
In-Reply-To: <alpine.LRH.2.00.1007070202080.5939@localhost.localdomain>


Initialize vmxnet3 link state at probe time

This change initializes the state of link at the time when driver is
loaded. The ethtool output for 'link detected' and 'link speed'
is thus valid even before the interface is brought up.

Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com>

---
 drivers/net/vmxnet3/vmxnet3_drv.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c
index 7792a44..1e31d40 100644
--- a/drivers/net/vmxnet3/vmxnet3_drv.c
+++ b/drivers/net/vmxnet3/vmxnet3_drv.c
@@ -130,7 +130,7 @@ vmxnet3_tq_stop(struct vmxnet3_tx_queue *tq, struct vmxnet3_adapter *adapter)
  * Check the link state. This may start or stop the tx queue.
  */
 static void
-vmxnet3_check_link(struct vmxnet3_adapter *adapter)
+vmxnet3_check_link(struct vmxnet3_adapter *adapter, bool affectTxQueue)
 {
 	u32 ret;
 
@@ -143,14 +143,16 @@ vmxnet3_check_link(struct vmxnet3_adapter *adapter)
 		if (!netif_carrier_ok(adapter->netdev))
 			netif_carrier_on(adapter->netdev);
 
-		vmxnet3_tq_start(&adapter->tx_queue, adapter);
+		if (affectTxQueue)
+			vmxnet3_tq_start(&adapter->tx_queue, adapter);
 	} else {
 		printk(KERN_INFO "%s: NIC Link is Down\n",
 		       adapter->netdev->name);
 		if (netif_carrier_ok(adapter->netdev))
 			netif_carrier_off(adapter->netdev);
 
-		vmxnet3_tq_stop(&adapter->tx_queue, adapter);
+		if (affectTxQueue)
+			vmxnet3_tq_stop(&adapter->tx_queue, adapter);
 	}
 }
 
@@ -165,7 +167,7 @@ vmxnet3_process_events(struct vmxnet3_adapter *adapter)
 
 	/* Check if link state has changed */
 	if (events & VMXNET3_ECR_LINK)
-		vmxnet3_check_link(adapter);
+		vmxnet3_check_link(adapter, true);
 
 	/* Check if there is an error on xmit/recv queues */
 	if (events & (VMXNET3_ECR_TQERR | VMXNET3_ECR_RQERR)) {
@@ -1947,7 +1949,7 @@ vmxnet3_activate_dev(struct vmxnet3_adapter *adapter)
 	 * Check link state when first activating device. It will start the
 	 * tx queue if the link is up.
 	 */
-	vmxnet3_check_link(adapter);
+	vmxnet3_check_link(adapter, true);
 
 	napi_enable(&adapter->napi);
 	vmxnet3_enable_all_intrs(adapter);
@@ -2549,6 +2551,7 @@ vmxnet3_probe_device(struct pci_dev *pdev,
 	}
 
 	set_bit(VMXNET3_STATE_BIT_QUIESCED, &adapter->state);
+	vmxnet3_check_link(adapter, false);
 	atomic_inc(&devices_found);
 	return 0;

  parent reply	other threads:[~2010-07-14  0:48 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <alpine.LRH.2.00.1007070125440.4652@localhost.localdomain>
2010-07-07  9:24 ` [PATCH 2.6.35-rc1] net: vmxnet3 fixes [2/5] Interrupt control bitmap Shreyas Bhatewara
2010-07-14  0:48   ` [PATCH 2.6.35-rc1] net-next: " Shreyas Bhatewara
2010-07-14 21:04     ` David Miller
2010-07-16  1:20       ` Shreyas Bhatewara
2010-07-16  5:19         ` David Miller
2010-07-07  9:28 ` [PATCH 2.6.35-rc1] net: vmxnet3 fixes [3/5] Initialize link state at probe time Shreyas Bhatewara
2010-07-07  9:31   ` [PATCH 2.6.35-rc1] net: vmxnet3 fixes [4/5] Do not reset when the device is not opened Shreyas Bhatewara
2010-07-14  0:49     ` [PATCH 2.6.35-rc1] net-next: " Shreyas Bhatewara
2010-07-14 21:07       ` David Miller
2010-07-16  1:20         ` Shreyas Bhatewara
2010-07-16  1:32           ` David Miller
2010-07-16  8:17             ` Shreyas Bhatewara
2010-07-17 23:35               ` David Miller
2010-07-19 17:02                 ` Shreyas Bhatewara
2010-07-19 20:16                   ` David Miller
2010-07-07  9:34   ` [PATCH 2.6.35-rc1] net: vmxnet3 fixes [5/5] Respect the interrupt type in VM configuration Shreyas Bhatewara
2010-07-14  0:51     ` [PATCH 2.6.35-rc1] net-next: " Shreyas Bhatewara
2010-07-14 21:11       ` David Miller
2010-07-16  1:21         ` Shreyas Bhatewara
2010-07-16  1:28           ` [PATCH 2.6.35-rc1] net-next: fix LRO feature update in vmxnet3 Shreyas Bhatewara
2010-07-16  5:17             ` David Miller
2010-07-19 20:16           ` [PATCH 2.6.35-rc1] net-next: vmxnet3 fixes [5/5] Respect the interrupt type in VM configuration David Miller
2010-07-14  0:48   ` Shreyas Bhatewara [this message]
2010-07-14 21:10     ` [PATCH 2.6.35-rc1] net-next: vmxnet3 fixes [3/5] Initialize link state at probe time David Miller
2010-07-16  1:20       ` Shreyas Bhatewara
2010-07-16  5:44         ` David Miller
2010-07-16  7:51           ` Shreyas Bhatewara
2010-07-18 21:49             ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LRH.2.00.1007131748180.32055@localhost.localdomain \
    --to=sbhatewara@vmware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pv-drivers@vmware.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox