<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless/ath, branch v3.0.49</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: fix decrypt_error initialization in ath_rx_tasklet()</title>
<updated>2012-09-14T17:00:39+00:00</updated>
<author>
<name>Lorenzo Bianconi</name>
<email>lorenzo.bianconi83@gmail.com</email>
</author>
<published>2012-08-10T09:00:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=c227ece753e0c8a31f0618e8edb4897d77f8fb0d'/>
<id>c227ece753e0c8a31f0618e8edb4897d77f8fb0d</id>
<content type='text'>
commit e1352fde5682ab1bdd2a9e5d75c22d1fe210ef77 upstream.

ath_rx_tasklet() calls ath9k_rx_skb_preprocess() and ath9k_rx_skb_postprocess()
in a loop over the received frames. The decrypt_error flag is
initialized to false
just outside ath_rx_tasklet() loop. ath9k_rx_accept(), called by
ath9k_rx_skb_preprocess(),
only sets decrypt_error to true and never to false.
Then ath_rx_tasklet() calls ath9k_rx_skb_postprocess() and passes
decrypt_error to it.
So, after a decryption error, in ath9k_rx_skb_postprocess(), we can
have a leftover value
from another processed frame. In that case, the frame will not be marked with
RX_FLAG_DECRYPTED even if it is decrypted correctly.
When using CCMP encryption this issue can lead to connection stuck
because of CCMP
PN corruption and a waste of CPU time since mac80211 tries to decrypt an already
deciphered frame with ieee80211_aes_ccm_decrypt.
Fix the issue initializing decrypt_error flag at the begging of the
ath_rx_tasklet() loop.

Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi83@gmail.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 e1352fde5682ab1bdd2a9e5d75c22d1fe210ef77 upstream.

ath_rx_tasklet() calls ath9k_rx_skb_preprocess() and ath9k_rx_skb_postprocess()
in a loop over the received frames. The decrypt_error flag is
initialized to false
just outside ath_rx_tasklet() loop. ath9k_rx_accept(), called by
ath9k_rx_skb_preprocess(),
only sets decrypt_error to true and never to false.
Then ath_rx_tasklet() calls ath9k_rx_skb_postprocess() and passes
decrypt_error to it.
So, after a decryption error, in ath9k_rx_skb_postprocess(), we can
have a leftover value
from another processed frame. In that case, the frame will not be marked with
RX_FLAG_DECRYPTED even if it is decrypted correctly.
When using CCMP encryption this issue can lead to connection stuck
because of CCMP
PN corruption and a waste of CPU time since mac80211 tries to decrypt an already
deciphered frame with ieee80211_aes_ccm_decrypt.
Fix the issue initializing decrypt_error flag at the begging of the
ath_rx_tasklet() loop.

Signed-off-by: Lorenzo Bianconi &lt;lorenzo.bianconi83@gmail.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: enable serialize_regmode for non-PCIE AR9287</title>
<updated>2012-07-16T15:47:39+00:00</updated>
<author>
<name>Panayiotis Karabassis</name>
<email>panayk@gmail.com</email>
</author>
<published>2012-06-26T20:37:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5fe4d12cfbf9ca994640a487439a2ef2f633336c'/>
<id>5fe4d12cfbf9ca994640a487439a2ef2f633336c</id>
<content type='text'>
commit 7508b657967cf664b5aa0f6367d05016e7e3bc2a upstream.

https://bugzilla.kernel.org/show_bug.cgi?id=42903

Based on the work of &lt;fynivx@gmail.com&gt;

Signed-off-by: Panayiotis Karabassis &lt;panayk@gmail.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 7508b657967cf664b5aa0f6367d05016e7e3bc2a upstream.

https://bugzilla.kernel.org/show_bug.cgi?id=42903

Based on the work of &lt;fynivx@gmail.com&gt;

Signed-off-by: Panayiotis Karabassis &lt;panayk@gmail.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: avoid possible infinite loop in ar9003_get_pll_sqsum_dvc</title>
<updated>2012-07-16T15:47:39+00:00</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
<email>mohammed@qca.qualcomm.com</email>
</author>
<published>2012-06-18T07:43:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3a3ca923be330c3a8b0f391d8e92040f4987eb21'/>
<id>3a3ca923be330c3a8b0f391d8e92040f4987eb21</id>
<content type='text'>
commit f18e3c6b67f448ec47b3a5b242789bd3d5644879 upstream.

"ath9k: Fix softlockup in AR9485" with commit id
64bc1239c790e051ff677e023435d770d2ffa174 fixed the reported
issue, yet its better to avoid the possible infinite loop
in ar9003_get_pll_sqsum_dvc by having a timeout as suggested
by ath9k maintainers.
http://www.spinics.net/lists/linux-wireless/msg92126.html.
Based on my testing PLL's locking measurement is done in
~200us (2 iterations).

Cc: Rolf Offermanns &lt;rolf.offermanns@gmx.net&gt;
Cc: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Cc: Senthil Balasubramanian &lt;senthilb@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 f18e3c6b67f448ec47b3a5b242789bd3d5644879 upstream.

"ath9k: Fix softlockup in AR9485" with commit id
64bc1239c790e051ff677e023435d770d2ffa174 fixed the reported
issue, yet its better to avoid the possible infinite loop
in ar9003_get_pll_sqsum_dvc by having a timeout as suggested
by ath9k maintainers.
http://www.spinics.net/lists/linux-wireless/msg92126.html.
Based on my testing PLL's locking measurement is done in
~200us (2 iterations).

Cc: Rolf Offermanns &lt;rolf.offermanns@gmx.net&gt;
Cc: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Cc: Senthil Balasubramanian &lt;senthilb@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: Fix softlockup in AR9485</title>
<updated>2012-07-16T15:47:38+00:00</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
<email>mohammed@qca.qualcomm.com</email>
</author>
<published>2012-06-13T15:58:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=de39eed0da6d7afcf2d758dc0e99811988a3bd06'/>
<id>de39eed0da6d7afcf2d758dc0e99811988a3bd06</id>
<content type='text'>
commit bcb7ad7bcbef030e6ba71ede1f9866368aca7c99 upstream.

steps to recreate:
load latest ath9k driver with AR9485
stop the network-manager and wpa_supplicant
bring the interface up

	Call Trace:
	[&lt;ffffffffa0517490&gt;] ? ath_hw_check+0xe0/0xe0 [ath9k]
	[&lt;ffffffff812cd1e8&gt;] __const_udelay+0x28/0x30
	[&lt;ffffffffa03bae7a&gt;] ar9003_get_pll_sqsum_dvc+0x4a/0x80 [ath9k_hw]
	[&lt;ffffffffa05174eb&gt;] ath_hw_pll_work+0x5b/0xe0 [ath9k]
	[&lt;ffffffff810744fe&gt;] process_one_work+0x11e/0x470
	[&lt;ffffffff8107530f&gt;] worker_thread+0x15f/0x360
	[&lt;ffffffff810751b0&gt;] ? manage_workers+0x230/0x230
	[&lt;ffffffff81079af3&gt;] kthread+0x93/0xa0
	[&lt;ffffffff815fd3a4&gt;] kernel_thread_helper+0x4/0x10
	[&lt;ffffffff81079a60&gt;] ? kthread_freezable_should_stop+0x70/0x70
	[&lt;ffffffff815fd3a0&gt;] ? gs_change+0x13/0x13

ensure that the PLL-WAR for AR9485/AR9340 is executed only if the STA is
associated (or) IBSS/AP mode had started beaconing. Ideally this WAR
is needed to recover from some rare beacon stuck during stress testing.
Before the STA is associated/IBSS had started beaconing, PLL4(0x1618c)
always seem to have zero even though we had configured PLL3(0x16188) to
query about PLL's locking status. When we keep on polling infinitely PLL4's
8th bit(ie check for PLL locking measurements is done), machine hangs
due to softlockup.

fixes https://bugzilla.redhat.com/show_bug.cgi?id=811142

Reported-by: Rolf Offermanns &lt;rolf.offermanns@gmx.net&gt;
Tested-by: Mohammed Shafi Shajakhan &lt;mohammed@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 bcb7ad7bcbef030e6ba71ede1f9866368aca7c99 upstream.

steps to recreate:
load latest ath9k driver with AR9485
stop the network-manager and wpa_supplicant
bring the interface up

	Call Trace:
	[&lt;ffffffffa0517490&gt;] ? ath_hw_check+0xe0/0xe0 [ath9k]
	[&lt;ffffffff812cd1e8&gt;] __const_udelay+0x28/0x30
	[&lt;ffffffffa03bae7a&gt;] ar9003_get_pll_sqsum_dvc+0x4a/0x80 [ath9k_hw]
	[&lt;ffffffffa05174eb&gt;] ath_hw_pll_work+0x5b/0xe0 [ath9k]
	[&lt;ffffffff810744fe&gt;] process_one_work+0x11e/0x470
	[&lt;ffffffff8107530f&gt;] worker_thread+0x15f/0x360
	[&lt;ffffffff810751b0&gt;] ? manage_workers+0x230/0x230
	[&lt;ffffffff81079af3&gt;] kthread+0x93/0xa0
	[&lt;ffffffff815fd3a4&gt;] kernel_thread_helper+0x4/0x10
	[&lt;ffffffff81079a60&gt;] ? kthread_freezable_should_stop+0x70/0x70
	[&lt;ffffffff815fd3a0&gt;] ? gs_change+0x13/0x13

ensure that the PLL-WAR for AR9485/AR9340 is executed only if the STA is
associated (or) IBSS/AP mode had started beaconing. Ideally this WAR
is needed to recover from some rare beacon stuck during stress testing.
Before the STA is associated/IBSS had started beaconing, PLL4(0x1618c)
always seem to have zero even though we had configured PLL3(0x16188) to
query about PLL's locking status. When we keep on polling infinitely PLL4's
8th bit(ie check for PLL locking measurements is done), machine hangs
due to softlockup.

fixes https://bugzilla.redhat.com/show_bug.cgi?id=811142

Reported-by: Rolf Offermanns &lt;rolf.offermanns@gmx.net&gt;
Tested-by: Mohammed Shafi Shajakhan &lt;mohammed@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: fix max noise floor threshold</title>
<updated>2012-04-22T23:21:41+00:00</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2012-03-15T00:38:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=64bc099c97abc7b2657351629615a8e9f43d6458'/>
<id>64bc099c97abc7b2657351629615a8e9f43d6458</id>
<content type='text'>
commit 2ee0a07028d2cde6e131b73f029dae2b93c50f3a upstream.

Currently the maximum noise floor limit is set as too high (-60dB). The
assumption of having a higher threshold limit is that it would help
de-sensitize the receiver (reduce phy errors) from continuous
interference. But when we have a bursty interference where there are
collisions and then free air time and if the receiver is desensitized too
much, it will miss the normal packets too. Lets make use of chips
specific min, nom and max limits always. This patch helps to improve the
connection stability in congested networks.

Cc: Paul Stewart &lt;pstew@google.com&gt;
Tested-by: Gary Morain &lt;gmorain@google.com&gt;
Signed-off-by: Madhan Jaganathan &lt;madhanj@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;
[bwh: Backported to 3.0/3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&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 2ee0a07028d2cde6e131b73f029dae2b93c50f3a upstream.

Currently the maximum noise floor limit is set as too high (-60dB). The
assumption of having a higher threshold limit is that it would help
de-sensitize the receiver (reduce phy errors) from continuous
interference. But when we have a bursty interference where there are
collisions and then free air time and if the receiver is desensitized too
much, it will miss the normal packets too. Lets make use of chips
specific min, nom and max limits always. This patch helps to improve the
connection stability in congested networks.

Cc: Paul Stewart &lt;pstew@google.com&gt;
Tested-by: Gary Morain &lt;gmorain@google.com&gt;
Signed-off-by: Madhan Jaganathan &lt;madhanj@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;
[bwh: Backported to 3.0/3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>carl9170: Fix memory accounting when sta is in power-save mode.</title>
<updated>2012-03-12T17:33:01+00:00</updated>
<author>
<name>Nicolas Cavallari</name>
<email>Nicolas.Cavallari@lri.fr</email>
</author>
<published>2012-02-23T15:53:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2070216144d9c8ff4894a443b093277b42342b12'/>
<id>2070216144d9c8ff4894a443b093277b42342b12</id>
<content type='text'>
commit 992d52529d7840236d3059b51c15d5eb9e81a869 upstream.

On Access Point mode, when transmitting a packet, if the destination
station is in powersave mode, we abort transmitting the packet to the
device queue, but we do not reclaim the allocated memory.  Given enough
packets, we can go in a state where there is no packet on the device
queue, but we think the device has no memory left, so no packet gets
transmitted, connections breaks and the AP stops working.

This undo the allocation done in the TX path when the station is in
power-save mode.

Signed-off-by: Nicolas Cavallari &lt;cavallar@lri.fr&gt;
Acked-by: Christian Lamparter &lt;chunkeey@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 992d52529d7840236d3059b51c15d5eb9e81a869 upstream.

On Access Point mode, when transmitting a packet, if the destination
station is in powersave mode, we abort transmitting the packet to the
device queue, but we do not reclaim the allocated memory.  Given enough
packets, we can go in a state where there is no packet on the device
queue, but we think the device has no memory left, so no packet gets
transmitted, connections breaks and the AP stops working.

This undo the allocation done in the TX path when the station is in
power-save mode.

Signed-off-by: Nicolas Cavallari &lt;cavallar@lri.fr&gt;
Acked-by: Christian Lamparter &lt;chunkeey@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_hw: prevent writes to const data on AR9160</title>
<updated>2012-03-12T17:32:56+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-02-15T18:31:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=b0f1b35e3cf604dcafdeae9ba3b4a1a86df7d9e8'/>
<id>b0f1b35e3cf604dcafdeae9ba3b4a1a86df7d9e8</id>
<content type='text'>
commit 9bbb8168ed3d8b946f9c1901a63a675012de88f2 upstream.

Duplicate the data for iniAddac early on, to avoid having to do redundant
memcpy calls later. While we're at it, make AR5416 &lt; v2.2 use the same
codepath. Fixes a reported crash on x86.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Magnus Määttä &lt;magnus.maatta@logica.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 9bbb8168ed3d8b946f9c1901a63a675012de88f2 upstream.

Duplicate the data for iniAddac early on, to avoid having to do redundant
memcpy calls later. While we're at it, make AR5416 &lt; v2.2 use the same
codepath. Fixes a reported crash on x86.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Magnus Määttä &lt;magnus.maatta@logica.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: stop on rates with idx -1 in ath9k rate control's .tx_status</title>
<updated>2012-03-01T00:34:28+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=6778e220c09cdfb19a326192fd25ee146755b95d'/>
<id>6778e220c09cdfb19a326192fd25ee146755b95d</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: Fix kernel panic in AR2427 in AP mode</title>
<updated>2012-01-06T22:14:14+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=eb1f526d4bfda44e94ccdf34950911eaff74b092'/>
<id>eb1f526d4bfda44e94ccdf34950911eaff74b092</id>
<content type='text'>
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:
	[&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: 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;
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 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:
	[&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: 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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: fix max phy rate at rate control init</title>
<updated>2012-01-06T22:13:54+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=3c00ff7bd542942ff7f3e473d1372b4ae892318f'/>
<id>3c00ff7bd542942ff7f3e473d1372b4ae892318f</id>
<content type='text'>
commit 10636bc2d60942254bda149827b922c41f4cb4af upstream.

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: 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;
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 10636bc2d60942254bda149827b922c41f4cb4af upstream.

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: 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;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</pre>
</div>
</content>
</entry>
</feed>
