diff options
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.patch | 65 |
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 @@ | |||
1 | From b7d2c1e70d2c94585ac5839e38b861bdc6d469d2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Stanislaw Gruszka <sgruszka@redhat.com> | ||
3 | Date: Wed, 4 Jul 2012 13:20:20 +0200 | ||
4 | Subject: [PATCH 054/109] iwlegacy: always monitor for stuck queues | ||
5 | |||
6 | commit c2ca7d92ed4bbd779516beb6eb226e19f7f7ab0f upstream. | ||
7 | |||
8 | This is iwlegacy version of: | ||
9 | |||
10 | commit 342bbf3fee2fa9a18147e74b2e3c4229a4564912 | ||
11 | Author: Johannes Berg <johannes.berg@intel.com> | ||
12 | Date: 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 | |||
30 | Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> | ||
31 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | ||
32 | [bwh: Backported to 3.2: adjust filename, function and variable names] | ||
33 | Signed-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 | |||
38 | diff --git a/drivers/net/wireless/iwlegacy/iwl-core.c b/drivers/net/wireless/iwlegacy/iwl-core.c | ||
39 | index 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 | -- | ||
64 | 1.7.7.6 | ||
65 | |||