--- /dev/null
+From 282cdb325aea4ebbc42ce753b47cc96145eb54bc Mon Sep 17 00:00:00 2001
+From: Johannes Berg <johannes.berg@intel.com>
+Date: Mon, 12 Sep 2011 12:09:10 -0700
+Subject: iwlagn: fix command queue timeout
+
+From: Johannes Berg <johannes.berg@intel.com>
+
+commit 282cdb325aea4ebbc42ce753b47cc96145eb54bc upstream.
+
+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.
+
+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>
+
+---
+ drivers/net/wireless/iwlwifi/iwl-tx.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/drivers/net/wireless/iwlwifi/iwl-tx.c
++++ b/drivers/net/wireless/iwlwifi/iwl-tx.c
+@@ -802,6 +802,8 @@ void iwl_tx_cmd_complete(struct iwl_priv
+ cmd = txq->cmd[cmd_index];
+ meta = &txq->meta[cmd_index];
+
++ txq->time_stamp = jiffies;
++
+ iwlagn_unmap_tfd(priv, meta, &txq->tfds[index], PCI_DMA_BIDIRECTIONAL);
+
+ /* Input error checking is done when commands are added to queue. */