From b9e58ebc00fd4018f4205debf3300080ded4178c Mon Sep 17 00:00:00 2001 From: Alexander Duyck Date: Tue, 7 Feb 2012 02:29:01 +0000 Subject: [PATCH] --- yaml --- r: 291391 b: refs/heads/master c: 5c4903549c05bbb373479e0ce2992573c120654a h: refs/heads/master i: 291389: 0a1196cd859589eea4794e5640698a9b99769de4 291387: aa9c18f42e97a8f74deaa98d156b448a60f141a2 291383: d3b7185d00093e189524eb76fcbadfdf98e68681 291375: 6e84b0e0a4ba4047da00328707659e0dd38e7ca5 291359: 59355f01c60d1dd88899562f1b4b0c341d37ac34 291327: a10edc517bd4b58ecca8c9f5059cad7a14ea0f5d v: v3 --- [refs] | 2 +- trunk/drivers/net/ethernet/intel/igb/igb_main.c | 3 ++- trunk/include/linux/netdevice.h | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 55ce4b278562..892c5759d0b5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b2d96e0ac07cf4929c6b0eb13121672048368117 +refs/heads/master: 5c4903549c05bbb373479e0ce2992573c120654a diff --git a/trunk/drivers/net/ethernet/intel/igb/igb_main.c b/trunk/drivers/net/ethernet/intel/igb/igb_main.c index fda824735e18..e96cef89f121 100644 --- a/trunk/drivers/net/ethernet/intel/igb/igb_main.c +++ b/trunk/drivers/net/ethernet/intel/igb/igb_main.c @@ -2752,6 +2752,8 @@ void igb_configure_tx_ring(struct igb_adapter *adapter, txdctl |= E1000_TXDCTL_QUEUE_ENABLE; wr32(E1000_TXDCTL(reg_idx), txdctl); + + netdev_tx_reset_queue(txring_txq(ring)); } /** @@ -3244,7 +3246,6 @@ static void igb_clean_tx_ring(struct igb_ring *tx_ring) buffer_info = &tx_ring->tx_buffer_info[i]; igb_unmap_and_free_tx_resource(tx_ring, buffer_info); } - netdev_tx_reset_queue(txring_txq(tx_ring)); size = sizeof(struct igb_tx_buffer) * tx_ring->count; memset(tx_ring->tx_buffer_info, 0, size); diff --git a/trunk/include/linux/netdevice.h b/trunk/include/linux/netdevice.h index b195a34440bb..4bf314fe2145 100644 --- a/trunk/include/linux/netdevice.h +++ b/trunk/include/linux/netdevice.h @@ -1939,6 +1939,7 @@ static inline void netdev_completed_queue(struct net_device *dev, static inline void netdev_tx_reset_queue(struct netdev_queue *q) { #ifdef CONFIG_BQL + clear_bit(__QUEUE_STATE_STACK_XOFF, &q->state); dql_reset(&q->dql); #endif }