summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-09-12 12:09:10 -0700
committerJohn W. Linville <linville@tuxdriver.com>2011-09-13 14:32:02 -0400
commit282cdb325aea4ebbc42ce753b47cc96145eb54bc (patch)
tree32df392e7f5fbb7437c5d90f112d68fde1d7af87
parent456fc37e4519f3f551830ce01c58ddaa35807204 (diff)
downloadlinux-stable-282cdb325aea4ebbc42ce753b47cc96145eb54bc.tar.gz
linux-stable-282cdb325aea4ebbc42ce753b47cc96145eb54bc.tar.bz2
linux-stable-282cdb325aea4ebbc42ce753b47cc96145eb54bc.zip
iwlagn: fix command queue timeout
If the command queue is constantly busy, which can happen in P2P, the hangcheck timer will frequently find a command in it and will eventually reset the device because nothing sets the timestamp for this queue when commands are processed. Fix this by setting the timestamp when a command completes. Cc: stable@kernel.org #2.6.39, #3.0.0 #3.1.0 Signed-off-by: Johannes Berg <johannes.berg@intel.com> SIgned-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c b/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
index a6b2b1db0b1d..222d410c586e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-tx-pcie.c
@@ -771,6 +771,8 @@ void iwl_tx_cmd_complete(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
cmd = txq->cmd[cmd_index];
meta = &txq->meta[cmd_index];
+ txq->time_stamp = jiffies;
+
iwlagn_unmap_tfd(priv, meta, &txq->tfds[index], DMA_BIDIRECTIONAL);
/* Input error checking is done when commands are added to queue. */