From f8f95c009902246863971664236627d710433a32 Mon Sep 17 00:00:00 2001 From: Michael Chan Date: Mon, 17 May 2010 17:34:43 -0700 Subject: [PATCH] --- yaml --- r: 195167 b: refs/heads/master c: a0ba676008d9f050f1de9ede8d1ee4bf6820bfc9 h: refs/heads/master i: 195165: 5f6e4449df1c290cf61530d2ca094b3daa9ca4d8 195163: 72fe9ef4794ef1a4861be6b655a1a606bdeb05a4 195159: fd9e94ef5a08700d3ece58702d7ae57766341344 195151: 646e84cc2c543d72fd584ea9544dbc28ba62977a 195135: 2a1d4c3a66fcff28557323e19c30ec1ab86f9dd6 v: v3 --- [refs] | 2 +- trunk/drivers/net/bnx2.c | 14 +++++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index e6775d06a96d..f49075af52a1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a931d294042b5bbd8e390c59741b968c11856ac1 +refs/heads/master: a0ba676008d9f050f1de9ede8d1ee4bf6820bfc9 diff --git a/trunk/drivers/net/bnx2.c b/trunk/drivers/net/bnx2.c index ab0068c7070a..188e356c30a3 100644 --- a/trunk/drivers/net/bnx2.c +++ b/trunk/drivers/net/bnx2.c @@ -656,19 +656,11 @@ bnx2_netif_stop(struct bnx2 *bp, bool stop_cnic) if (stop_cnic) bnx2_cnic_stop(bp); if (netif_running(bp->dev)) { - int i; - bnx2_napi_disable(bp); netif_tx_disable(bp->dev); - /* prevent tx timeout */ - for (i = 0; i < bp->dev->num_tx_queues; i++) { - struct netdev_queue *txq; - - txq = netdev_get_tx_queue(bp->dev, i); - txq->trans_start = jiffies; - } } bnx2_disable_int_sync(bp); + netif_carrier_off(bp->dev); /* prevent tx timeout */ } static void @@ -677,6 +669,10 @@ bnx2_netif_start(struct bnx2 *bp, bool start_cnic) if (atomic_dec_and_test(&bp->intr_sem)) { if (netif_running(bp->dev)) { netif_tx_wake_all_queues(bp->dev); + spin_lock_bh(&bp->phy_lock); + if (bp->link_up) + netif_carrier_on(bp->dev); + spin_unlock_bh(&bp->phy_lock); bnx2_napi_enable(bp); bnx2_enable_int(bp); if (start_cnic)