<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless/ath, branch v3.4.10</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: Add PID/VID support for AR1111</title>
<updated>2012-08-15T15:10:10+00:00</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
<email>mohammed@qca.qualcomm.com</email>
</author>
<published>2012-08-02T06:28:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ccf0b822f9fbbde08d56c2be07c0ab4c17036d1d'/>
<id>ccf0b822f9fbbde08d56c2be07c0ab4c17036d1d</id>
<content type='text'>
commit d4e5979c0da95791aa717c18e162540c7a596360 upstream.

AR1111 is same as AR9485. The h/w
difference between them is quite insignificant,
Felix suggests only very few baseband features
may not be available in AR1111. The h/w code for
AR9485 is already present, so AR1111 should
work fine with the addition of its PID/VID.

Reported-by: Tim Bentley &lt;Tim.Bentley@Gmail.com&gt;
Cc: Felix Bitterli &lt;felixb@qca.qualcomm.com&gt;
Signed-off-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Tested-by: Tim Bentley &lt;Tim.Bentley@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 d4e5979c0da95791aa717c18e162540c7a596360 upstream.

AR1111 is same as AR9485. The h/w
difference between them is quite insignificant,
Felix suggests only very few baseband features
may not be available in AR1111. The h/w code for
AR9485 is already present, so AR1111 should
work fine with the addition of its PID/VID.

Reported-by: Tim Bentley &lt;Tim.Bentley@Gmail.com&gt;
Cc: Felix Bitterli &lt;felixb@qca.qualcomm.com&gt;
Signed-off-by: Mohammed Shafi Shajakhan &lt;mohammed@qca.qualcomm.com&gt;
Tested-by: Tim Bentley &lt;Tim.Bentley@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: fix panic caused by returning a descriptor we have queued for reuse</title>
<updated>2012-07-16T16:04:41+00:00</updated>
<author>
<name>Tom Hughes</name>
<email>tom@compton.nu</email>
</author>
<published>2012-06-27T17:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e5982925c66c542aa41b17ee35fc233ae1521898'/>
<id>e5982925c66c542aa41b17ee35fc233ae1521898</id>
<content type='text'>
commit 6bb51c70cabaadddc54a6454844eceba91a56083 upstream.

Commit 3a2923e83c introduced a bug when a corrupt descriptor
is encountered - although the following descriptor is discarded
and returned to the queue for reuse the associated frame is
also returned for processing. This leads to a panic:

BUG: unable to handle kernel NULL pointer dereference at 000000000000003a
IP: [&lt;ffffffffa02599a5&gt;] ath_rx_tasklet+0x165/0x1b00 [ath9k]
Call Trace:
&lt;IRQ&gt;
[&lt;ffffffff812d7fa0&gt;] ? map_single+0x60/0x60
[&lt;ffffffffa028f044&gt;] ? ath9k_ioread32+0x34/0x90 [ath9k]
[&lt;ffffffffa0292eec&gt;] athk9k_tasklet+0xdc/0x160 [ath9k]
[&lt;ffffffff8105e133&gt;] tasklet_action+0x63/0xd0
[&lt;ffffffff8105dbc0&gt;] __do_softirq+0xc0/0x1e0
[&lt;ffffffff8101a873&gt;] ? native_sched_clock+0x13/0x80
[&lt;ffffffff815f9d5c&gt;] call_softirq+0x1c/0x30
[&lt;ffffffff810151f5&gt;] do_softirq+0x75/0xb0
[&lt;ffffffff8105df95&gt;] irq_exit+0xb5/0xc0
[&lt;ffffffff815fa5b3&gt;] do_IRQ+0x63/0xe0
[&lt;ffffffff815f0cea&gt;] common_interrupt+0x6a/0x6a
&lt;EOI&gt;
[&lt;ffffffff8131840a&gt;] ? intel_idle+0xea/0x150
[&lt;ffffffff813183eb&gt;] ? intel_idle+0xcb/0x150
[&lt;ffffffff814a1db9&gt;] cpuidle_enter+0x19/0x20
[&lt;ffffffff814a23d9&gt;] cpuidle_idle_call+0xa9/0x240
[&lt;ffffffff8101c4bf&gt;] cpu_idle+0xaf/0x120
[&lt;ffffffff815cda8e&gt;] rest_init+0x72/0x74
[&lt;ffffffff81cf4c1a&gt;] start_kernel+0x3b7/0x3c4
[&lt;ffffffff81cf4662&gt;] ? repair_env_string+0x5e/0x5e
[&lt;ffffffff81cf4346&gt;] x86_64_start_reservations+0x131/0x135
[&lt;ffffffff81cf444a&gt;] x86_64_start_kernel+0x100/0x10f

Making sure bf is cleared to NULL in this case restores the
old behaviour.

Signed-off-by: Tom Hughes &lt;tom@compton.nu&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Cc: Josh Boyer &lt;jwboyer@redhat.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 6bb51c70cabaadddc54a6454844eceba91a56083 upstream.

Commit 3a2923e83c introduced a bug when a corrupt descriptor
is encountered - although the following descriptor is discarded
and returned to the queue for reuse the associated frame is
also returned for processing. This leads to a panic:

BUG: unable to handle kernel NULL pointer dereference at 000000000000003a
IP: [&lt;ffffffffa02599a5&gt;] ath_rx_tasklet+0x165/0x1b00 [ath9k]
Call Trace:
&lt;IRQ&gt;
[&lt;ffffffff812d7fa0&gt;] ? map_single+0x60/0x60
[&lt;ffffffffa028f044&gt;] ? ath9k_ioread32+0x34/0x90 [ath9k]
[&lt;ffffffffa0292eec&gt;] athk9k_tasklet+0xdc/0x160 [ath9k]
[&lt;ffffffff8105e133&gt;] tasklet_action+0x63/0xd0
[&lt;ffffffff8105dbc0&gt;] __do_softirq+0xc0/0x1e0
[&lt;ffffffff8101a873&gt;] ? native_sched_clock+0x13/0x80
[&lt;ffffffff815f9d5c&gt;] call_softirq+0x1c/0x30
[&lt;ffffffff810151f5&gt;] do_softirq+0x75/0xb0
[&lt;ffffffff8105df95&gt;] irq_exit+0xb5/0xc0
[&lt;ffffffff815fa5b3&gt;] do_IRQ+0x63/0xe0
[&lt;ffffffff815f0cea&gt;] common_interrupt+0x6a/0x6a
&lt;EOI&gt;
[&lt;ffffffff8131840a&gt;] ? intel_idle+0xea/0x150
[&lt;ffffffff813183eb&gt;] ? intel_idle+0xcb/0x150
[&lt;ffffffff814a1db9&gt;] cpuidle_enter+0x19/0x20
[&lt;ffffffff814a23d9&gt;] cpuidle_idle_call+0xa9/0x240
[&lt;ffffffff8101c4bf&gt;] cpu_idle+0xaf/0x120
[&lt;ffffffff815cda8e&gt;] rest_init+0x72/0x74
[&lt;ffffffff81cf4c1a&gt;] start_kernel+0x3b7/0x3c4
[&lt;ffffffff81cf4662&gt;] ? repair_env_string+0x5e/0x5e
[&lt;ffffffff81cf4346&gt;] x86_64_start_reservations+0x131/0x135
[&lt;ffffffff81cf444a&gt;] x86_64_start_kernel+0x100/0x10f

Making sure bf is cleared to NULL in this case restores the
old behaviour.

Signed-off-by: Tom Hughes &lt;tom@compton.nu&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Cc: Josh Boyer &lt;jwboyer@redhat.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-16T16:04:04+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=72c06c7a0aa9158d75216a86307f6a80f284b11f'/>
<id>72c06c7a0aa9158d75216a86307f6a80f284b11f</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: fix dynamic WEP related regression</title>
<updated>2012-07-16T16:04:04+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-06-23T17:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=aeb0da0b585868aed04e53afd1234791efcfac08'/>
<id>aeb0da0b585868aed04e53afd1234791efcfac08</id>
<content type='text'>
commit bed3d9c0b71f9afbfec905cb6db3b9f16be29d4d upstream.

commit 7a532fe7131216a02c81a6c1b1f8632da1195a58
ath9k_hw: fix interpretation of the rx KeyMiss flag

This commit used the rx key miss indication to detect packets that were
passed from the hardware without being decrypted, however it seems that
this bit is not only undefined in the static WEP case, but also for
dynamically allocated WEP keys. This caused a regression when using
WEP-LEAP.

This patch fixes the regression by keeping track of which key indexes
refer to CCMP keys and only using the key miss indication for those.

Reported-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
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@linuxfoundation.org&gt;

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

commit 7a532fe7131216a02c81a6c1b1f8632da1195a58
ath9k_hw: fix interpretation of the rx KeyMiss flag

This commit used the rx key miss indication to detect packets that were
passed from the hardware without being decrypted, however it seems that
this bit is not only undefined in the static WEP case, but also for
dynamically allocated WEP keys. This caused a regression when using
WEP-LEAP.

This patch fixes the regression by keeping track of which key indexes
refer to CCMP keys and only using the key miss indication for those.

Reported-by: Stanislaw Gruszka &lt;sgruszka@redhat.com&gt;
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@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k_htc: configure bssid on ASSOC/IBSS change</title>
<updated>2012-07-16T16:04:04+00:00</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2012-06-20T10:59:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=301fef5503d98deb0b0d27b643b711b73e04c578'/>
<id>301fef5503d98deb0b0d27b643b711b73e04c578</id>
<content type='text'>
commit 931cb03afed7b541392295f3afc4638da32f08a0 upstream.

After the change "mac80211: remove spurious BSSID change flag",
BSS_CHANGED_BSSID will not be passed on association or IBSS
status changes. So it could be better to program bssid on ASSOC
or IBSS change notification. Not doing so, is affecting the
packet transmission.

Reported-by: Michael Leun &lt;lkml20120218@newton.leun.net&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@linuxfoundation.org&gt;

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

After the change "mac80211: remove spurious BSSID change flag",
BSS_CHANGED_BSSID will not be passed on association or IBSS
status changes. So it could be better to program bssid on ASSOC
or IBSS change notification. Not doing so, is affecting the
packet transmission.

Reported-by: Michael Leun &lt;lkml20120218@newton.leun.net&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@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-16T16:04:04+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=084f5074c2d08a343590f386de79fd9ae2406c03'/>
<id>084f5074c2d08a343590f386de79fd9ae2406c03</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 invalid pointer access in the tx path</title>
<updated>2012-07-16T16:04:03+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-06-15T01:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d8a7bedebed60ec6366550edccff31f3e8c509a4'/>
<id>d8a7bedebed60ec6366550edccff31f3e8c509a4</id>
<content type='text'>
commit 80b08a8d8829a58b5db14b1417151094cc28face upstream.

After setup_frame_info has been called, only info-&gt;control.rates is still
valid, other control fields have been overwritten by the ath_frame_info
data. Move the access to info-&gt;control.vif for checking short preamble
to setup_frame_info before it gets overwritten.

This regression was introduced in commit d47a61aa
"ath9k: Fix multi-VIF BSS handling"

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Thomas Hühn &lt;thomas@net.t-labs.tu-berlin.de&gt;
Acked-by: Sujith Manoharan &lt;c_manoha@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 80b08a8d8829a58b5db14b1417151094cc28face upstream.

After setup_frame_info has been called, only info-&gt;control.rates is still
valid, other control fields have been overwritten by the ath_frame_info
data. Move the access to info-&gt;control.vif for checking short preamble
to setup_frame_info before it gets overwritten.

This regression was introduced in commit d47a61aa
"ath9k: Fix multi-VIF BSS handling"

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Reported-by: Thomas Hühn &lt;thomas@net.t-labs.tu-berlin.de&gt;
Acked-by: Sujith Manoharan &lt;c_manoha@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 a tx rate duration calculation bug</title>
<updated>2012-07-16T16:04:03+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-06-15T01:04:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7664af6e949f3facf0e8071053627a8fa4aaff5a'/>
<id>7664af6e949f3facf0e8071053627a8fa4aaff5a</id>
<content type='text'>
commit 76591bea9714a58d8924154068c78d702eb2cb17 upstream.

The rate pointer variable for a rate series is used in a loop before it is
initialized. This went unnoticed because it was used earlier for the RTS/CTS
rate. This bug can lead to the wrong PHY type being passed to the
duration calculation function.

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@linuxfoundation.org&gt;

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

The rate pointer variable for a rate series is used in a loop before it is
initialized. This went unnoticed because it was used earlier for the RTS/CTS
rate. This bug can lead to the wrong PHY type being passed to the
duration calculation function.

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@linuxfoundation.org&gt;

</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Fix softlockup in AR9485</title>
<updated>2012-07-16T16:04:03+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=e0d1c1de5638a4fffbc9d5d9f141c434531dc3b9'/>
<id>e0d1c1de5638a4fffbc9d5d9f141c434531dc3b9</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 a WARNING on suspend/resume with IBSS</title>
<updated>2012-07-16T16:04:03+00:00</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
<email>mohammed@qca.qualcomm.com</email>
</author>
<published>2012-06-06T05:03:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=ad95174b4857549e7b1659f66a29b5151176ade0'/>
<id>ad95174b4857549e7b1659f66a29b5151176ade0</id>
<content type='text'>
commit 2031b4c2b4904f7448ab9e4bc6b9bf16e32709f5 upstream.

this patch is dependent on the patch "cfg80211: fix interface
combinations"

In ath9k currently we have ADHOC interface as a single incompatible
interface. when drv_add_interface is called during resume we got to
consider number of vifs already present in addition to checking the
drivers 'opmode' information about ADHOC.  we incorrectly assume
an ADHOC interface is already present. Then we may miss some driver
specific data for the ADHOC interface after resume.

The above mentioned checks can be removed from the driver,
as the patch 'cfg80211: fix interface combinations' ensures that
if an interface type is not advertised by the driver in any of the
interface combinations(via ieee80211_iface_combination) then it shall
be treated as a single incompatible interface. Fixes the following
warning on suspend/resume with ibss interface.

        ath: phy0: Cannot create ADHOC interface when other
        interfaces already exist.
        WARNING: at net/mac80211/driver-ops.h:12
        ieee80211_reconfig+0x1882/0x1ca0 [mac80211]()
        Hardware name: 2842RK1
        wlan2:  Failed check-sdata-in-driver check, flags: 0x0

        Call Trace:
        [&lt;c01361b2&gt;] warn_slowpath_common+0x72/0xa0
        [&lt;f8aaa7c2&gt;] ? ieee80211_reconfig+0x1882/0x1ca0
        [mac80211]
        [&lt;f8aaa7c2&gt;] ? ieee80211_reconfig+0x1882/0x1ca0
        [mac80211]
        [&lt;c0136283&gt;] warn_slowpath_fmt+0x33/0x40
        [&lt;f8aaa7c2&gt;] ieee80211_reconfig+0x1882/0x1ca0 [mac80211]
        [&lt;c06c1d1a&gt;] ? mutex_lock_nested+0x23a/0x2f0
        [&lt;f8a95097&gt;] ieee80211_resume+0x27/0x70 [mac80211]
        [&lt;fd177edf&gt;] wiphy_resume+0x8f/0xa0 [cfg80211]

Cc: 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 2031b4c2b4904f7448ab9e4bc6b9bf16e32709f5 upstream.

this patch is dependent on the patch "cfg80211: fix interface
combinations"

In ath9k currently we have ADHOC interface as a single incompatible
interface. when drv_add_interface is called during resume we got to
consider number of vifs already present in addition to checking the
drivers 'opmode' information about ADHOC.  we incorrectly assume
an ADHOC interface is already present. Then we may miss some driver
specific data for the ADHOC interface after resume.

The above mentioned checks can be removed from the driver,
as the patch 'cfg80211: fix interface combinations' ensures that
if an interface type is not advertised by the driver in any of the
interface combinations(via ieee80211_iface_combination) then it shall
be treated as a single incompatible interface. Fixes the following
warning on suspend/resume with ibss interface.

        ath: phy0: Cannot create ADHOC interface when other
        interfaces already exist.
        WARNING: at net/mac80211/driver-ops.h:12
        ieee80211_reconfig+0x1882/0x1ca0 [mac80211]()
        Hardware name: 2842RK1
        wlan2:  Failed check-sdata-in-driver check, flags: 0x0

        Call Trace:
        [&lt;c01361b2&gt;] warn_slowpath_common+0x72/0xa0
        [&lt;f8aaa7c2&gt;] ? ieee80211_reconfig+0x1882/0x1ca0
        [mac80211]
        [&lt;f8aaa7c2&gt;] ? ieee80211_reconfig+0x1882/0x1ca0
        [mac80211]
        [&lt;c0136283&gt;] warn_slowpath_fmt+0x33/0x40
        [&lt;f8aaa7c2&gt;] ieee80211_reconfig+0x1882/0x1ca0 [mac80211]
        [&lt;c06c1d1a&gt;] ? mutex_lock_nested+0x23a/0x2f0
        [&lt;f8a95097&gt;] ieee80211_resume+0x27/0x70 [mac80211]
        [&lt;fd177edf&gt;] wiphy_resume+0x8f/0xa0 [cfg80211]

Cc: 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>
</feed>
