summaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0054-iwlegacy-always-monitor-for-stuck-queues.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0054-iwlegacy-always-monitor-for-stuck-queues.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0054-iwlegacy-always-monitor-for-stuck-queues.patch65
1 files changed, 65 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0054-iwlegacy-always-monitor-for-stuck-queues.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0054-iwlegacy-always-monitor-for-stuck-queues.patch
new file mode 100644
index 00000000..83172fb9
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.24/0054-iwlegacy-always-monitor-for-stuck-queues.patch
@@ -0,0 +1,65 @@
1From b7d2c1e70d2c94585ac5839e38b861bdc6d469d2 Mon Sep 17 00:00:00 2001
2From: Stanislaw Gruszka <sgruszka@redhat.com>
3Date: Wed, 4 Jul 2012 13:20:20 +0200
4Subject: [PATCH 054/109] iwlegacy: always monitor for stuck queues
5
6commit c2ca7d92ed4bbd779516beb6eb226e19f7f7ab0f upstream.
7
8This is iwlegacy version of:
9
10commit 342bbf3fee2fa9a18147e74b2e3c4229a4564912
11Author: Johannes Berg <johannes.berg@intel.com>
12Date: Sun Mar 4 08:50:46 2012 -0800
13
14 iwlwifi: always monitor for stuck queues
15
16 If we only monitor while associated, the following
17 can happen:
18 - we're associated, and the queue stuck check
19 runs, setting the queue "touch" time to X
20 - we disassociate, stopping the monitoring,
21 which leaves the time set to X
22 - almost 2s later, we associate, and enqueue
23 a frame
24 - before the frame is transmitted, we monitor
25 for stuck queues, and find the time set to
26 X, although it is now later than X + 2000ms,
27 so we decide that the queue is stuck and
28 erroneously restart the device
29
30Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
31Signed-off-by: John W. Linville <linville@tuxdriver.com>
32[bwh: Backported to 3.2: adjust filename, function and variable names]
33Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
34---
35 drivers/net/wireless/iwlegacy/iwl-core.c | 14 ++++++--------
36 1 files changed, 6 insertions(+), 8 deletions(-)
37
38diff --git a/drivers/net/wireless/iwlegacy/iwl-core.c b/drivers/net/wireless/iwlegacy/iwl-core.c
39index 2bd5659..1bb64c9 100644
40--- a/drivers/net/wireless/iwlegacy/iwl-core.c
41+++ b/drivers/net/wireless/iwlegacy/iwl-core.c
42@@ -1884,14 +1884,12 @@ void iwl_legacy_bg_watchdog(unsigned long data)
43 return;
44
45 /* monitor and check for other stuck queues */
46- if (iwl_legacy_is_any_associated(priv)) {
47- for (cnt = 0; cnt < priv->hw_params.max_txq_num; cnt++) {
48- /* skip as we already checked the command queue */
49- if (cnt == priv->cmd_queue)
50- continue;
51- if (iwl_legacy_check_stuck_queue(priv, cnt))
52- return;
53- }
54+ for (cnt = 0; cnt < priv->hw_params.max_txq_num; cnt++) {
55+ /* skip as we already checked the command queue */
56+ if (cnt == priv->cmd_queue)
57+ continue;
58+ if (iwl_legacy_check_stuck_queue(priv, cnt))
59+ return;
60 }
61
62 mod_timer(&priv->watchdog, jiffies +
63--
641.7.7.6
65