<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/drivers/net/wireless/ath/ath9k/init.c, branch v3.4.36</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: reduce listen time period</title>
<updated>2012-03-26T19:07:25+00:00</updated>
<author>
<name>Rajkumar Manoharan</name>
<email>rmanohar@qca.qualcomm.com</email>
</author>
<published>2012-03-15T17:35:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=195ca3b122c02cf21ce64f211d9474600da80e80'/>
<id>195ca3b122c02cf21ce64f211d9474600da80e80</id>
<content type='text'>
When we have downlink traffic alone and the station is going thru
bgscan, the client is out of operating channel for around 1000ms which
is too long. The mac80211 decides when to switch back to oper channel
based on tx queue, bad latency and listen time. As the station does not
have tx traffic, the bgscan can easily affect downlink throughput. By
reducing the listen time, it helps the associated AP to retain the
downstream rate.

Cc: Paul Stewart &lt;pstew@google.com&gt;
Tested-by: Gary Morain &lt;gmorain@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>
When we have downlink traffic alone and the station is going thru
bgscan, the client is out of operating channel for around 1000ms which
is too long. The mac80211 decides when to switch back to oper channel
based on tx queue, bad latency and listen time. As the station does not
have tx traffic, the bgscan can easily affect downlink throughput. By
reducing the listen time, it helps the associated AP to retain the
downstream rate.

Cc: Paul Stewart &lt;pstew@google.com&gt;
Tested-by: Gary Morain &lt;gmorain@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>
<entry>
<title>ath9k: optimize register access functions</title>
<updated>2012-03-15T17:45:03+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-03-14T15:40:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=f3eef64521f82330b4b173584d776b8a04b3e795'/>
<id>f3eef64521f82330b4b173584d776b8a04b3e795</id>
<content type='text'>
By checking for NR_CPUS, the compiler can optimize out register access
serialization code on non-SMP kernels

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&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>
By checking for NR_CPUS, the compiler can optimize out register access
serialization code on non-SMP kernels

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k_hw: remove ath9k_hw_getdefantenna</title>
<updated>2012-03-15T17:45:02+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-03-14T15:40:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=99ac8cd6ff44e733acdff0d36475dce2d3fe6a6b'/>
<id>99ac8cd6ff44e733acdff0d36475dce2d3fe6a6b</id>
<content type='text'>
The default antenna (as programmed by the INI file) is always 0 anyway.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&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 default antenna (as programmed by the INI file) is always 0 anyway.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Remove aggregation flags</title>
<updated>2012-03-15T17:40:29+00:00</updated>
<author>
<name>Sujith Manoharan</name>
<email>c_manoha@qca.qualcomm.com</email>
</author>
<published>2012-03-14T09:10:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=3d4e20f2d1e720c63887aee6a985e7870baf4ba1'/>
<id>3d4e20f2d1e720c63887aee6a985e7870baf4ba1</id>
<content type='text'>
SC_OP_TXAGGR and SC_OP_RXAGGR are not really needed.
The HT capabilities of the station and HW can be used instead.

Signed-off-by: Sujith Manoharan &lt;c_manoha@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>
SC_OP_TXAGGR and SC_OP_RXAGGR are not really needed.
The HT capabilities of the station and HW can be used instead.

Signed-off-by: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: make MAC sample statistics optional</title>
<updated>2012-03-07T18:51:38+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2012-03-03T14:17:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5baec7422c8c8f70c62b9493acf31d4854b09070'/>
<id>5baec7422c8c8f70c62b9493acf31d4854b09070</id>
<content type='text'>
They're more expensive than some of the other debug options and only used
in very rare situations, so it sometimes makes sense to disable them while
leaving in debugfs support.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&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>
They're more expensive than some of the other debug options and only used
in very rare situations, so it sometimes makes sense to disable them while
leaving in debugfs support.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Move BTCOEX init/deinit functions to gpio.c</title>
<updated>2012-02-27T19:06:33+00:00</updated>
<author>
<name>Sujith Manoharan</name>
<email>c_manoha@qca.qualcomm.com</email>
</author>
<published>2012-02-22T07:10:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=5908120fdc2aac0cb1be4059b40ec256d55934bc'/>
<id>5908120fdc2aac0cb1be4059b40ec256d55934bc</id>
<content type='text'>
Signed-off-by: Sujith Manoharan &lt;c_manoha@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>
Signed-off-by: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Initialize MCI params using a helper</title>
<updated>2012-02-27T19:06:33+00:00</updated>
<author>
<name>Sujith Manoharan</name>
<email>c_manoha@qca.qualcomm.com</email>
</author>
<published>2012-02-22T07:10:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d3c83ac12338509f37e95bffb19097a361a089a2'/>
<id>d3c83ac12338509f37e95bffb19097a361a089a2</id>
<content type='text'>
Signed-off-by: Sujith Manoharan &lt;c_manoha@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>
Signed-off-by: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k: Fix kernel panic during driver initilization</title>
<updated>2012-02-03T19:18:02+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=07445f688218a48bde72316aed9de4fdcc173131'/>
<id>07445f688218a48bde72316aed9de4fdcc173131</id>
<content type='text'>
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: &lt;stable@vger.kernel.org&gt;
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;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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: &lt;stable@vger.kernel.org&gt;
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;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath9k_hw: make bluetooth coexistence support optional at compile time</title>
<updated>2011-12-19T19:46:55+00:00</updated>
<author>
<name>Felix Fietkau</name>
<email>nbd@openwrt.org</email>
</author>
<published>2011-12-17T15:47:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=8a30930563521c9dba73c93b5631be1d0993f78f'/>
<id>8a30930563521c9dba73c93b5631be1d0993f78f</id>
<content type='text'>
Many systems (e.g. embedded systems) do not have wifi modules connected to
bluetooth modules, so bluetooth coexistence is irrelevant there. With the
addition of MCI support, ath9k picked up quite a bit of extra code that
can be compiled out this way.

This patch redefines ATH9K_HW_CAP_MCI and adds an inline wrapper for
querying the bluetooth coexistence scheme, allowing the compiler to
eliminate code that uses it, with only very little use of #ifdef.

On MIPS this reduces the total size for the modules by about 20k.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&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>
Many systems (e.g. embedded systems) do not have wifi modules connected to
bluetooth modules, so bluetooth coexistence is irrelevant there. With the
addition of MCI support, ath9k picked up quite a bit of extra code that
can be compiled out this way.

This patch redefines ATH9K_HW_CAP_MCI and adds an inline wrapper for
querying the bluetooth coexistence scheme, allowing the compiler to
eliminate code that uses it, with only very little use of #ifdef.

On MIPS this reduces the total size for the modules by about 20k.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ath: Convert ath_dbg(bar, ATH_DBG_&lt;FOO&gt;, to ath_dbg(bar, FOO</title>
<updated>2011-12-19T19:35:31+00:00</updated>
<author>
<name>Joe Perches</name>
<email>joe@perches.com</email>
</author>
<published>2011-12-15T22:55:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=d2182b69dcb6a68b1ef6070b2efd094e13dea3f1'/>
<id>d2182b69dcb6a68b1ef6070b2efd094e13dea3f1</id>
<content type='text'>
Add ATH_DBG_ to macros to shorten the uses and
reduce the line count.

Coalesce ath_dbg formats.
Add missing spaces to coalesced formats.
Add missing newline terminations to ath_dbg formats.
Align ath_dbg arguments where appropriate.
Standardize ath_dbg formats without periods.

Signed-off-by: Joe Perches &lt;joe@perches.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>
Add ATH_DBG_ to macros to shorten the uses and
reduce the line count.

Coalesce ath_dbg formats.
Add missing spaces to coalesced formats.
Add missing newline terminations to ath_dbg formats.
Align ath_dbg arguments where appropriate.
Standardize ath_dbg formats without periods.

Signed-off-by: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
