summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-02-23 10:34:17 +0100
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2016-02-27 21:00:08 +0100
commit685b346c3af35bcdc1316289ce8c76e28a5a7a7e (patch)
tree8efa7c6ce435066a6e8fa2fcc99545d2a3af0836 /drivers/net/wireless/intel/iwlwifi/pcie/tx.c
parentiwlwifi: pcie: add pm_prepare and pm_complete ops (diff)
downloadlinux-685b346c3af35bcdc1316289ce8c76e28a5a7a7e.tar.xz
linux-685b346c3af35bcdc1316289ce8c76e28a5a7a7e.zip
iwlwifi: pcie: prevent skbs shadowing in iwl_trans_pcie_reclaim
The patch below introduced a variable shadowing. Fix that. Fixes: 3955525d5d17 ("iwlwifi: pcie: buffer packets to avoid overflowing Tx queues") Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/tx.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/tx.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
index 837a7d536874..16ad820ca824 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/tx.c
@@ -1062,10 +1062,10 @@ void iwl_trans_pcie_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
if (iwl_queue_space(&txq->q) > txq->q.low_mark &&
test_bit(txq_id, trans_pcie->queue_stopped)) {
- struct sk_buff_head skbs;
+ struct sk_buff_head overflow_skbs;
- __skb_queue_head_init(&skbs);
- skb_queue_splice_init(&txq->overflow_q, &skbs);
+ __skb_queue_head_init(&overflow_skbs);
+ skb_queue_splice_init(&txq->overflow_q, &overflow_skbs);
/*
* This is tricky: we are in reclaim path which is non
@@ -1076,8 +1076,8 @@ void iwl_trans_pcie_reclaim(struct iwl_trans *trans, int txq_id, int ssn,
*/
spin_unlock_bh(&txq->lock);
- while (!skb_queue_empty(&skbs)) {
- struct sk_buff *skb = __skb_dequeue(&skbs);
+ while (!skb_queue_empty(&overflow_skbs)) {
+ struct sk_buff *skb = __skb_dequeue(&overflow_skbs);
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
u8 dev_cmd_idx = IWL_TRANS_FIRST_DRIVER_DATA + 1;
struct iwl_device_cmd *dev_cmd =