diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2012-06-10 11:25:09 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-06-13 03:01:07 -0400 |
commit | 49a4fc20df7fced31ffe4038b32b86a0438d1c27 (patch) | |
tree | ae2f17f97dce8ebb570ac3b3e5da14950867644d /drivers/net/wireless/iwlwifi/pcie/trans.c | |
parent | f609607c009140491dd134f0165d9a8f9f726114 (diff) |
iwlwifi: don't modify the timer if we don't Tx
In fragmentation we don't update the write pointer of the
HW immediately. So we shouldn't modify the timer in that
case.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/pcie/trans.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/pcie/trans.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/pcie/trans.c b/drivers/net/wireless/iwlwifi/pcie/trans.c index d6a73179ebf1..b647eb4dca64 100644 --- a/drivers/net/wireless/iwlwifi/pcie/trans.c +++ b/drivers/net/wireless/iwlwifi/pcie/trans.c | |||
@@ -1354,7 +1354,8 @@ static int iwl_trans_pcie_tx(struct iwl_trans *trans, struct sk_buff *skb, | |||
1354 | skb->data + hdr_len, secondlen); | 1354 | skb->data + hdr_len, secondlen); |
1355 | 1355 | ||
1356 | /* start timer if queue currently empty */ | 1356 | /* start timer if queue currently empty */ |
1357 | if (q->read_ptr == q->write_ptr && trans_pcie->wd_timeout) | 1357 | if (txq->need_update && q->read_ptr == q->write_ptr && |
1358 | trans_pcie->wd_timeout) | ||
1358 | mod_timer(&txq->stuck_timer, jiffies + trans_pcie->wd_timeout); | 1359 | mod_timer(&txq->stuck_timer, jiffies + trans_pcie->wd_timeout); |
1359 | 1360 | ||
1360 | /* Tell device the write index *just past* this latest filled TFD */ | 1361 | /* Tell device the write index *just past* this latest filled TFD */ |