<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless/ath, branch v3.2.9</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>ath9k: stop on rates with idx -1 in ath9k rate control's .tx_status</title>
<updated>2012-03-01T00:31:15+00:00</updated>
<author>
<name>Pavel Roskin</name>
<email>proski@gnu.org</email>
</author>
<published>2012-02-11T15:01:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=72633f08ad74b93530b8e038041c450492a00ed5'/>
<id>72633f08ad74b93530b8e038041c450492a00ed5</id>
<content type='text'>
commit 2504a6423b9ab4c36df78227055995644de19edb upstream.

Rate control algorithms are supposed to stop processing when they
encounter a rate with the index -1.  Checking for rate-&gt;count not being
zero is not enough.

Allowing a rate with negative index leads to memory corruption in
ath_debug_stat_rc().

One consequence of the bug is discussed at
https://bugzilla.redhat.com/show_bug.cgi?id=768639

Signed-off-by: Pavel Roskin &lt;proski@gnu.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 2504a6423b9ab4c36df78227055995644de19edb upstream.

Rate control algorithms are supposed to stop processing when they
encounter a rate with the index -1.  Checking for rate-&gt;count not being
zero is not enough.

Allowing a rate with negative index leads to memory corruption in
ath_debug_stat_rc().

One consequence of the bug is discussed at
https://bugzilla.redhat.com/show_bug.cgi?id=768639

Signed-off-by: Pavel Roskin &lt;proski@gnu.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k_hw: fix a RTS/CTS timeout regression</title>
<updated>2012-02-20T20:46:15+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-02-05T20:15:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=39141a87c717403c9dd4e0432766ea18054f86f8'/>
<id>39141a87c717403c9dd4e0432766ea18054f86f8</id>
<content type='text'>
commit 55a2bb4a6d5e8c7b324d003e130fd9aaf33be4e6 upstream.

commit adb5066 "ath9k_hw: do not apply the 2.4 ghz ack timeout
workaround to cts" reduced the hardware CTS timeout to the normal
values specified by the standard, but it turns out while it doesn't
need the same extra time that it needs for the ACK timeout, it
does need more than the value specified in the standard, but only
for 2.4 GHz.

This patch brings the CTS timeout value in sync with the initialization
values, while still allowing adjustment for bigger distances.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Reported-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 55a2bb4a6d5e8c7b324d003e130fd9aaf33be4e6 upstream.

commit adb5066 "ath9k_hw: do not apply the 2.4 ghz ack timeout
workaround to cts" reduced the hardware CTS timeout to the normal
values specified by the standard, but it turns out while it doesn't
need the same extra time that it needs for the ACK timeout, it
does need more than the value specified in the standard, but only
for 2.4 GHz.

This patch brings the CTS timeout value in sync with the initialization
values, while still allowing adjustment for bigger distances.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Seth Forshee &lt;seth.forshee@canonical.com&gt;
Reported-by: Marek Lindner &lt;lindner_marek@yahoo.de&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: fix a WEP crypto related regression</title>
<updated>2012-02-20T20:46:14+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-02-05T20:15:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=07c07e52693740326b24511ba6053f3fd52c0942'/>
<id>07c07e52693740326b24511ba6053f3fd52c0942</id>
<content type='text'>
commit f88373fa47f3ce6590fdfaa742d0ddacc2ae017f upstream.

commit b4a82a0 "ath9k_hw: fix interpretation of the rx KeyMiss flag"
fixed the interpretation of the KeyMiss flag for keycache based lookups,
however WEP encryption uses a static index, so KeyMiss is always asserted
for it, even though frames are decrypted properly.
Fix this by clearing the ATH9K_RXERR_KEYMISS flag if no keycache based
lookup was performed.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Laurent Bonnans &lt;bonnans.l@gmail.com&gt;
Reported-by: Jurica Vukadin &lt;u.ra604@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit f88373fa47f3ce6590fdfaa742d0ddacc2ae017f upstream.

commit b4a82a0 "ath9k_hw: fix interpretation of the rx KeyMiss flag"
fixed the interpretation of the KeyMiss flag for keycache based lookups,
however WEP encryption uses a static index, so KeyMiss is always asserted
for it, even though frames are decrypted properly.
Fix this by clearing the ATH9K_RXERR_KEYMISS flag if no keycache based
lookup was performed.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Laurent Bonnans &lt;bonnans.l@gmail.com&gt;
Reported-by: Jurica Vukadin &lt;u.ra604@googlemail.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Fix kernel panic during driver initilization</title>
<updated>2012-02-20T20:46:14+00:00</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
<email>mohammed@qca.qualcomm.com</email>
</author>
<published>2012-02-02T10:59:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=801cb74a250edad565024f2db5c5a6c7930ecbb1'/>
<id>801cb74a250edad565024f2db5c5a6c7930ecbb1</id>
<content type='text'>
commit 07445f688218a48bde72316aed9de4fdcc173131 upstream.

all works need to be initialized before ieee80211_register_hw
to prevent mac80211 call backs such as drv_start, drv_config
getting started. otherwise we would queue/cancel works before
initializing them and it leads to kernel panic.
this issue can be recreated with the following script
in Chrome laptops with AR928X cards, with background scan
running (or) Network manager is running

while true
do
sudo modprobe -v ath9k
sleep 3
sudo modprobe -r ath9k
sleep 3
done

	 EIP: [&lt;81040a47&gt;] __cancel_work_timer+0xb8/0xe1 SS:ESP 0068:f6be9d70
	 ---[ end trace 4f86d6139a9900ef ]---
	 Registered led device: ath9k-phy0
	 ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xf88a0000,
	 irq=16
	 Kernel panic - not syncing: Fatal exception
	 Pid: 456, comm: wpa_supplicant Tainted: G      D
	 3.0.13 #1
	Call Trace:
	 [&lt;81379e21&gt;] panic+0x53/0x14a
	 [&lt;81004a30&gt;] oops_end+0x73/0x81
	 [&lt;81004b53&gt;] die+0x4c/0x55
	 [&lt;81002710&gt;] do_trap+0x7c/0x83
	 [&lt;81002855&gt;] ? do_bounds+0x58/0x58
	 [&lt;810028cc&gt;] do_invalid_op+0x77/0x81
	 [&lt;81040a47&gt;] ? __cancel_work_timer+0xb8/0xe1
	 [&lt;810489ec&gt;] ? sched_clock_cpu+0x81/0x11f
	 [&lt;8103f809&gt;] ? wait_on_work+0xe2/0xf7
	 [&lt;8137f807&gt;] error_code+0x67/0x6c
	 [&lt;810300d8&gt;] ? wait_consider_task+0x4ba/0x84c
	 [&lt;81040a47&gt;] ? __cancel_work_timer+0xb8/0xe1
	 [&lt;810380c9&gt;] ? try_to_del_timer_sync+0x5f/0x67
	 [&lt;81040a91&gt;] cancel_work_sync+0xf/0x11
	 [&lt;f88d7b7c&gt;] ath_set_channel+0x62/0x25c [ath9k]
	 [&lt;f88d67d1&gt;] ? ath9k_tx_last_beacon+0x26a/0x85c [ath9k]
	 [&lt;f88d8899&gt;] ath_radio_disable+0x3f1/0x68e [ath9k]
	 [&lt;f90d0edb&gt;] ieee80211_hw_config+0x111/0x116 [mac80211]
	 [&lt;f90dd95c&gt;] __ieee80211_recalc_idle+0x919/0xa37 [mac80211]
	 [&lt;f90dda76&gt;] __ieee80211_recalc_idle+0xa33/0xa37 [mac80211]
	 [&lt;812dbed8&gt;] __dev_open+0x82/0xab

Cc: Gary Morain &lt;gmorain@google.com&gt;
Cc: Paul Stewart &lt;pstew@google.com&gt;
Cc: Vasanthakumar Thiagarajan &lt;vthiagar@qca.qualcomm.com&gt;
Tested-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 07445f688218a48bde72316aed9de4fdcc173131 upstream.

all works need to be initialized before ieee80211_register_hw
to prevent mac80211 call backs such as drv_start, drv_config
getting started. otherwise we would queue/cancel works before
initializing them and it leads to kernel panic.
this issue can be recreated with the following script
in Chrome laptops with AR928X cards, with background scan
running (or) Network manager is running

while true
do
sudo modprobe -v ath9k
sleep 3
sudo modprobe -r ath9k
sleep 3
done

	 EIP: [&lt;81040a47&gt;] __cancel_work_timer+0xb8/0xe1 SS:ESP 0068:f6be9d70
	 ---[ end trace 4f86d6139a9900ef ]---
	 Registered led device: ath9k-phy0
	 ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xf88a0000,
	 irq=16
	 Kernel panic - not syncing: Fatal exception
	 Pid: 456, comm: wpa_supplicant Tainted: G      D
	 3.0.13 #1
	Call Trace:
	 [&lt;81379e21&gt;] panic+0x53/0x14a
	 [&lt;81004a30&gt;] oops_end+0x73/0x81
	 [&lt;81004b53&gt;] die+0x4c/0x55
	 [&lt;81002710&gt;] do_trap+0x7c/0x83
	 [&lt;81002855&gt;] ? do_bounds+0x58/0x58
	 [&lt;810028cc&gt;] do_invalid_op+0x77/0x81
	 [&lt;81040a47&gt;] ? __cancel_work_timer+0xb8/0xe1
	 [&lt;810489ec&gt;] ? sched_clock_cpu+0x81/0x11f
	 [&lt;8103f809&gt;] ? wait_on_work+0xe2/0xf7
	 [&lt;8137f807&gt;] error_code+0x67/0x6c
	 [&lt;810300d8&gt;] ? wait_consider_task+0x4ba/0x84c
	 [&lt;81040a47&gt;] ? __cancel_work_timer+0xb8/0xe1
	 [&lt;810380c9&gt;] ? try_to_del_timer_sync+0x5f/0x67
	 [&lt;81040a91&gt;] cancel_work_sync+0xf/0x11
	 [&lt;f88d7b7c&gt;] ath_set_channel+0x62/0x25c [ath9k]
	 [&lt;f88d67d1&gt;] ? ath9k_tx_last_beacon+0x26a/0x85c [ath9k]
	 [&lt;f88d8899&gt;] ath_radio_disable+0x3f1/0x68e [ath9k]
	 [&lt;f90d0edb&gt;] ieee80211_hw_config+0x111/0x116 [mac80211]
	 [&lt;f90dd95c&gt;] __ieee80211_recalc_idle+0x919/0xa37 [mac80211]
	 [&lt;f90dda76&gt;] __ieee80211_recalc_idle+0xa33/0xa37 [mac80211]
	 [&lt;812dbed8&gt;] __dev_open+0x82/0xab

Cc: Gary Morain &lt;gmorain@google.com&gt;
Cc: Paul Stewart &lt;pstew@google.com&gt;
Cc: Vasanthakumar Thiagarajan &lt;vthiagar@qca.qualcomm.com&gt;
Tested-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k_hw: fix interpretation of the rx KeyMiss flag</title>
<updated>2012-01-26T00:13:55+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-01-14T14:08:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b4a82a0a2e32777267b2c997fa55b90056447a40'/>
<id>b4a82a0a2e32777267b2c997fa55b90056447a40</id>
<content type='text'>
commit 7a532fe7131216a02c81a6c1b1f8632da1195a58 upstream.

Documentation states that the KeyMiss flag is only valid if RxFrameOK is
unset, however empirical evidence has shown that this is false.
When KeyMiss is set (and RxFrameOK is 1), the hardware passes a valid frame
which has not been decrypted. The driver then falsely marks the frame
as decrypted, and when using CCMP this corrupts the rx CCMP PN, leading
to connection hangs.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 7a532fe7131216a02c81a6c1b1f8632da1195a58 upstream.

Documentation states that the KeyMiss flag is only valid if RxFrameOK is
unset, however empirical evidence has shown that this is false.
When KeyMiss is set (and RxFrameOK is 1), the hardware passes a valid frame
which has not been decrypted. The driver then falsely marks the frame
as decrypted, and when using CCMP this corrupts the rx CCMP PN, leading
to connection hangs.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Fix regression in channelwidth switch at the same channel</title>
<updated>2012-01-26T00:13:23+00:00</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2012-01-09T10:07:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c9bc8b31648585fa3c985f6ac52a07a1d85f0e4a'/>
<id>c9bc8b31648585fa3c985f6ac52a07a1d85f0e4a</id>
<content type='text'>
commit 1a19f77f3642b8194ad9cf55548cc5d92e841766 upstream.

The commit "ath9k: Fix invalid noisefloor reading due to channel update"
preserves the current channel noisefloor readings before updating
channel type at the same channel index. It is also updating the curchan
pointer. As survey updation is also referring curchan pointer to fetch
the appropriate index, which might leads to invalid memory access. This
patch partially reverts the change and stores the noise floor history
buffer before updating channel type w/o updating curchan.

Cc: Gary Morain &lt;gmorain@google.com&gt;
Cc: Paul Stewart &lt;pstew@google.com&gt;
Reported-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
commit 1a19f77f3642b8194ad9cf55548cc5d92e841766 upstream.

The commit "ath9k: Fix invalid noisefloor reading due to channel update"
preserves the current channel noisefloor readings before updating
channel type at the same channel index. It is also updating the curchan
pointer. As survey updation is also referring curchan pointer to fetch
the appropriate index, which might leads to invalid memory access. This
patch partially reverts the change and stores the noise floor history
buffer before updating channel type w/o updating curchan.

Cc: Gary Morain &lt;gmorain@google.com&gt;
Cc: Paul Stewart &lt;pstew@google.com&gt;
Reported-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem</title>
<updated>2012-01-04T16:37:30+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2012-01-04T16:37:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d8f46ff11081f03b09efe82245a3257bab6bf60e'/>
<id>d8f46ff11081f03b09efe82245a3257bab6bf60e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Fix kernel panic in AR2427 in AP mode</title>
<updated>2012-01-03T19:40:45+00:00</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
<email>mohammed@qca.qualcomm.com</email>
</author>
<published>2011-12-26T05:12:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b25bfda38236f349cde0d1b28952f4eea2148d3f'/>
<id>b25bfda38236f349cde0d1b28952f4eea2148d3f</id>
<content type='text'>
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:
	[&lt;f8186741&gt;] ath9k_sta_notify+0x41/0x50 [ath9k]
	[&lt;f8186700&gt;] ? ath9k_get_survey+0x110/0x110 [ath9k]
	[&lt;f922988d&gt;] ieee80211_sta_ps_deliver_wakeup+0x9d/0x350
	[mac80211]
	[&lt;c018dc75&gt;] ? __module_address+0x95/0xb0
	[&lt;f92465b3&gt;] ap_sta_ps_end+0x63/0xa0 [mac80211]
	[&lt;f9246746&gt;] ieee80211_rx_h_sta_process+0x156/0x2b0
	[mac80211]
	[&lt;f9247d1e&gt;] ieee80211_rx_handlers+0xce/0x510 [mac80211]
	[&lt;c018440b&gt;] ? trace_hardirqs_on+0xb/0x10
	[&lt;c056936e&gt;] ? skb_queue_tail+0x3e/0x50
	[&lt;f9248271&gt;] ieee80211_prepare_and_rx_handle+0x111/0x750
	[mac80211]
	[&lt;f9248bf9&gt;] ieee80211_rx+0x349/0xb20 [mac80211]
	[&lt;f9248949&gt;] ? ieee80211_rx+0x99/0xb20 [mac80211]
	[&lt;f818b0b8&gt;] ath_rx_tasklet+0x818/0x1d00 [ath9k]
	[&lt;f8187a75&gt;] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
	[&lt;f8187a75&gt;] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
	[&lt;f8187b33&gt;] ath9k_tasklet+0xf3/0x1c0 [ath9k]
	[&lt;c0151b7e&gt;] tasklet_action+0xbe/0x180

Cc: stable@kernel.org
Cc: Senthil Balasubramanian &lt;senthilb@qca.qualcomm.com&gt;
Cc: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Reported-by: Ashwin Mendonca &lt;ashwinloyal@gmail.com&gt;
Tested-by: Ashwin Mendonca &lt;ashwinloyal@gmail.com&gt;
Signed-off-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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:
	[&lt;f8186741&gt;] ath9k_sta_notify+0x41/0x50 [ath9k]
	[&lt;f8186700&gt;] ? ath9k_get_survey+0x110/0x110 [ath9k]
	[&lt;f922988d&gt;] ieee80211_sta_ps_deliver_wakeup+0x9d/0x350
	[mac80211]
	[&lt;c018dc75&gt;] ? __module_address+0x95/0xb0
	[&lt;f92465b3&gt;] ap_sta_ps_end+0x63/0xa0 [mac80211]
	[&lt;f9246746&gt;] ieee80211_rx_h_sta_process+0x156/0x2b0
	[mac80211]
	[&lt;f9247d1e&gt;] ieee80211_rx_handlers+0xce/0x510 [mac80211]
	[&lt;c018440b&gt;] ? trace_hardirqs_on+0xb/0x10
	[&lt;c056936e&gt;] ? skb_queue_tail+0x3e/0x50
	[&lt;f9248271&gt;] ieee80211_prepare_and_rx_handle+0x111/0x750
	[mac80211]
	[&lt;f9248bf9&gt;] ieee80211_rx+0x349/0xb20 [mac80211]
	[&lt;f9248949&gt;] ? ieee80211_rx+0x99/0xb20 [mac80211]
	[&lt;f818b0b8&gt;] ath_rx_tasklet+0x818/0x1d00 [ath9k]
	[&lt;f8187a75&gt;] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
	[&lt;f8187a75&gt;] ? ath9k_tasklet+0x35/0x1c0 [ath9k]
	[&lt;f8187b33&gt;] ath9k_tasklet+0xf3/0x1c0 [ath9k]
	[&lt;c0151b7e&gt;] tasklet_action+0xbe/0x180

Cc: stable@kernel.org
Cc: Senthil Balasubramanian &lt;senthilb@qca.qualcomm.com&gt;
Cc: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Reported-by: Ashwin Mendonca &lt;ashwinloyal@gmail.com&gt;
Tested-by: Ashwin Mendonca &lt;ashwinloyal@gmail.com&gt;
Signed-off-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem</title>
<updated>2011-12-15T18:47:58+00:00</updated>
<author>
<name>John W. Linville</name>
<email>linville@tuxdriver.com</email>
</author>
<published>2011-12-15T18:47:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=42a3b63bb2ca4996a3d1210a004eae2333f1119e'/>
<id>42a3b63bb2ca4996a3d1210a004eae2333f1119e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: fix max phy rate at rate control init</title>
<updated>2011-12-12T19:23:28+00:00</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2011-12-10T13:29:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=10636bc2d60942254bda149827b922c41f4cb4af'/>
<id>10636bc2d60942254bda149827b922c41f4cb4af</id>
<content type='text'>
The stations always chooses 1Mbps for all trasmitting frames,
whenever the AP is configured to lock the supported rates.
As the max phy rate is always set with the 4th from highest phy rate,
this assumption might be wrong if we have less than that. Fix that.

Cc: stable@kernel.org
Cc: Paul Stewart &lt;pstew@google.com&gt;
Reported-by: Ajay Gummalla &lt;agummalla@google.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The stations always chooses 1Mbps for all trasmitting frames,
whenever the AP is configured to lock the supported rates.
As the max phy rate is always set with the 4th from highest phy rate,
this assumption might be wrong if we have less than that. Fix that.

Cc: stable@kernel.org
Cc: Paul Stewart &lt;pstew@google.com&gt;
Reported-by: Ajay Gummalla &lt;agummalla@google.com&gt;
Signed-off-by: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
