Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 203617
b: refs/heads/master
c: 4a1745f
h: refs/heads/master
i:
  203615: 656159f
v: v3
  • Loading branch information
Shreyas Bhatewara authored and David S. Miller committed Jul 18, 2010
1 parent 4e9543b commit 26a0f56
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 36227e88c2563de73f748aa7d85fffd7afffc1fb
refs/heads/master: 4a1745fc54e22e9fa928d72f97ee0e91449c9fd0
13 changes: 8 additions & 5 deletions trunk/drivers/net/vmxnet3/vmxnet3_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,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;

Expand All @@ -145,14 +145,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);
}
}

Expand All @@ -167,7 +169,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)) {
Expand Down Expand Up @@ -1894,7 +1896,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);
Expand Down Expand Up @@ -2496,6 +2498,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;

Expand Down

0 comments on commit 26a0f56

Please sign in to comment.