summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2012-01-06 14:11:44 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2012-01-06 14:11:44 -0800
commit2c5a709bf1d923cd27503b0ad5210843c6ae1ba4 (patch)
tree007338474d3aa544ad3a9010b56a1fd079f16260
parentfb8d5d6c17c193237f266e1226bbc9b49c28f4da (diff)
downloadlongterm-queue-2.6.32-2c5a709bf1d923cd27503b0ad5210843c6ae1ba4.tar.gz
2.6.32-stable patches
added patches: ath9k-fix-kernel-panic-in-ar2427-in-ap-mode.patch hung_task-fix-false-positive-during-vfork.patch
-rw-r--r--queue-2.6.32/ath9k-fix-kernel-panic-in-ar2427-in-ap-mode.patch73
-rw-r--r--queue-2.6.32/hung_task-fix-false-positive-during-vfork.patch52
-rw-r--r--queue-2.6.32/series2
3 files changed, 127 insertions, 0 deletions
diff --git a/queue-2.6.32/ath9k-fix-kernel-panic-in-ar2427-in-ap-mode.patch b/queue-2.6.32/ath9k-fix-kernel-panic-in-ar2427-in-ap-mode.patch
new file mode 100644
index 0000000..18ea4aa
--- /dev/null
+++ b/queue-2.6.32/ath9k-fix-kernel-panic-in-ar2427-in-ap-mode.patch
@@ -0,0 +1,73 @@
+From b25bfda38236f349cde0d1b28952f4eea2148d3f Mon Sep 17 00:00:00 2001
+From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
+Date: Mon, 26 Dec 2011 10:42:15 +0530
+Subject: ath9k: Fix kernel panic in AR2427 in AP mode
+
+From: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
+
+commit b25bfda38236f349cde0d1b28952f4eea2148d3f upstream.
+
+don't do aggregation related stuff for 'AP mode client power save
+handling' if aggregation is not enabled in the driver, otherwise it
+will lead to panic because those data structures won't be never
+intialized in 'ath_tx_node_init' if aggregation is disabled
+
+ EIP is at ath_tx_aggr_wakeup+0x37/0x80 [ath9k]
+ EAX: e8c09a20 EBX: f2a304e8 ECX: 00000001 EDX: 00000000
+ ESI: e8c085e0 EDI: f2a304ac EBP: f40e1ca4 ESP: f40e1c8c
+ DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
+ Process swapper/1 (pid: 0, ti=f40e0000 task=f408e860
+ task.ti=f40dc000)
+ Stack:
+ 0001e966 e8c09a20 00000000 f2a304ac e8c085e0 f2a304ac
+ f40e1cb0 f8186741
+ f8186700 f40e1d2c f922988d f2a304ac 00000202 00000001
+ c0b4ba43 00000000
+ 0000000f e8eb75c0 e8c085e0 205b0001 34383220 f2a304ac
+ f2a30000 00010020
+ Call Trace:
+ [<f8186741>] ath9k_sta_notify+0x41/0x50 [ath9k]
+ [<f8186700>] ? ath9k_get_survey+0x110/0x110 [ath9k]
+ [<f922988d>] ieee80211_sta_ps_deliver_wakeup+0x9d/0x350
+ [mac80211]
+ [<c018dc75>] ? __module_address+0x95/0xb0
+ [<f92465b3>] ap_sta_ps_end+0x63/0xa0 [mac80211]
+ [<f9246746>] ieee80211_rx_h_sta_process+0x156/0x2b0
+ [mac80211]
+ [<f9247d1e>] ieee80211_rx_handlers+0xce/0x510 [mac80211]
+ [<c018440b>] ? trace_hardirqs_on+0xb/0x10
+ [<c056936e>] ? skb_queue_tail+0x3e/0x50
+ [<f9248271>] ieee80211_prepare_and_rx_handle+0x111/0x750
+ [mac80211]
+ [<f9248bf9>] ieee80211_rx+0x349/0xb20 [mac80211]
+ [<f9248949>] ? ieee80211_rx+0x99/0xb20 [mac80211]
+ [<f818b0b8>] ath_rx_tasklet+0x818/0x1d00 [ath9k]
+ [<f8187a75>] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
+ [<f8187a75>] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
+ [<f8187b33>] ath9k_tasklet+0xf3/0x1c0 [ath9k]
+ [<c0151b7e>] tasklet_action+0xbe/0x180
+
+Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
+Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
+Reported-by: Ashwin Mendonca <ashwinloyal@gmail.com>
+Tested-by: Ashwin Mendonca <ashwinloyal@gmail.com>
+Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/wireless/ath/ath9k/main.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/drivers/net/wireless/ath/ath9k/main.c
++++ b/drivers/net/wireless/ath/ath9k/main.c
+@@ -2472,6 +2472,9 @@ static void ath9k_sta_notify(struct ieee
+ struct ath_wiphy *aphy = hw->priv;
+ struct ath_softc *sc = aphy->sc;
+
++ if (!(sc->sc_flags & SC_OP_TXAGGR))
++ return;
++
+ switch (cmd) {
+ case STA_NOTIFY_ADD:
+ ath_node_attach(sc, sta);
diff --git a/queue-2.6.32/hung_task-fix-false-positive-during-vfork.patch b/queue-2.6.32/hung_task-fix-false-positive-during-vfork.patch
new file mode 100644
index 0000000..847143f
--- /dev/null
+++ b/queue-2.6.32/hung_task-fix-false-positive-during-vfork.patch
@@ -0,0 +1,52 @@
+From f9fab10bbd768b0e5254e53a4a8477a94bfc4b96 Mon Sep 17 00:00:00 2001
+From: Mandeep Singh Baines <msb@chromium.org>
+Date: Tue, 3 Jan 2012 14:41:13 -0800
+Subject: hung_task: fix false positive during vfork
+
+From: Mandeep Singh Baines <msb@chromium.org>
+
+commit f9fab10bbd768b0e5254e53a4a8477a94bfc4b96 upstream.
+
+vfork parent uninterruptibly and unkillably waits for its child to
+exec/exit. This wait is of unbounded length. Ignore such waits
+in the hung_task detector.
+
+Signed-off-by: Mandeep Singh Baines <msb@chromium.org>
+Reported-by: Sasha Levin <levinsasha928@gmail.com>
+LKML-Reference: <1325344394.28904.43.camel@lappy>
+Cc: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Ingo Molnar <mingo@elte.hu>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+Cc: John Kacur <jkacur@redhat.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ kernel/hung_task.c | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+--- a/kernel/hung_task.c
++++ b/kernel/hung_task.c
+@@ -74,11 +74,17 @@ static void check_hung_task(struct task_
+
+ /*
+ * Ensure the task is not frozen.
+- * Also, when a freshly created task is scheduled once, changes
+- * its state to TASK_UNINTERRUPTIBLE without having ever been
+- * switched out once, it musn't be checked.
++ * Also, skip vfork and any other user process that freezer should skip.
+ */
+- if (unlikely(t->flags & PF_FROZEN || !switch_count))
++ if (unlikely(t->flags & (PF_FROZEN | PF_FREEZER_SKIP)))
++ return;
++
++ /*
++ * When a freshly created task is scheduled once, changes its state to
++ * TASK_UNINTERRUPTIBLE without having ever been switched out once, it
++ * musn't be checked.
++ */
++ if (unlikely(!switch_count))
+ return;
+
+ if (switch_count != t->last_switch_count) {
diff --git a/queue-2.6.32/series b/queue-2.6.32/series
index 1794641..0a6e94d 100644
--- a/queue-2.6.32/series
+++ b/queue-2.6.32/series
@@ -5,3 +5,5 @@ vfs-__read_cache_page-should-use-gfp-argument-rather-than-gfp_kernel.patch
arm-imx-fix-pwm-period-value.patch
arm-7220-1-mmc-mmci-fixup-error-handling-for-dma.patch
watchdog-hpwdt-changes-to-handle-nx-secure-bit-in-32bit-path.patch
+hung_task-fix-false-positive-during-vfork.patch
+ath9k-fix-kernel-panic-in-ar2427-in-ap-mode.patch