summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2011-09-20 11:49:00 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2011-09-20 11:49:00 -0700
commit58c8f711fca57fa9379233a380e11699ee311f9b (patch)
tree68998d83ee07e441bd1ef61d6232d1973d3612b1
parent02c99d8021d3481f726e6aaf3eda9eb4528f94b3 (diff)
downloadstable-queue-58c8f711fca57fa9379233a380e11699ee311f9b.tar.gz
3.0 patches
-rw-r--r--queue-3.0/iwlagn-fix-command-queue-timeout.patch38
-rw-r--r--queue-3.0/series1
2 files changed, 39 insertions, 0 deletions
diff --git a/queue-3.0/iwlagn-fix-command-queue-timeout.patch b/queue-3.0/iwlagn-fix-command-queue-timeout.patch
new file mode 100644
index 0000000000..75e45e2c85
--- /dev/null
+++ b/queue-3.0/iwlagn-fix-command-queue-timeout.patch
@@ -0,0 +1,38 @@
+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. */
diff --git a/queue-3.0/series b/queue-3.0/series
index 9cc6951513..74b9a41c57 100644
--- a/queue-3.0/series
+++ b/queue-3.0/series
@@ -135,3 +135,4 @@ firewire-ohci-add-no-msi-quirk-for-o2micro-controller.patch
drm-radeon-kms-fix-typo-in-r100_blit_copy.patch
drm-radeon-kms-make-gpu-cpu-page-size-handling-consistent-in-blit-code-v2.patch
usb-xhci-set-change-bit-when-warm-reset-change-is-set.patch
+iwlagn-fix-command-queue-timeout.patch