<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/wireless/ath, branch linux-3.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-11-17T21:18:28Z</updated>
<entry>
<title>ath9k: Test for TID only in BlockAcks while checking tx status</title>
<updated>2012-11-17T21:18:28Z</updated>
<author>
<name>Sven Eckelmann</name>
</author>
<published>2012-10-29T12:25:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ec3559970271fe2b28f731dd8bf32c3ef5c0bc02'/>
<id>urn:sha1:ec3559970271fe2b28f731dd8bf32c3ef5c0bc02</id>
<content type='text'>
commit 6fe7cc71bbf3a0bc28c9cec3c00bc11e81344412 upstream.

The ath9k xmit functions for AMPDUs can send frames as non-aggregate in case
only one frame is currently available. The client will then answer using a
normal Ack instead of a BlockAck. This acknowledgement has no TID stored and
therefore the hardware is not able to provide us the corresponding TID.

The TID set by the hardware in the tx status descriptor has to be seen as
undefined and not as a valid TID value for normal acknowledgements. Doing
otherwise results in a massive amount of retransmissions and stalls of
connections.

Users may experience low bandwidth and complete connection stalls in
environments with transfers using multiple TIDs.

This regression was introduced in b11b160defc48e4daa283f785192ea3a23a51f8e
("ath9k: validate the TID in the tx status information").

Signed-off-by: Sven Eckelmann &lt;sven@narfation.org&gt;
Signed-off-by: Simon Wunderlich &lt;siwu@hrz.tu-chemnitz.de&gt;
Acked-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>
</entry>
<entry>
<title>ath9k: fix stale pointers potentially causing access to free'd skbs</title>
<updated>2012-11-17T21:18:28Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-10-25T22:31:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cd585fb70b89fb57f8dffb03a2a72c30f81f5da6'/>
<id>urn:sha1:cd585fb70b89fb57f8dffb03a2a72c30f81f5da6</id>
<content type='text'>
commit 8c6e30936a7893a85f6222084f0f26aceb81137a upstream.

bf-&gt;bf_next is only while buffers are chained as part of an A-MPDU
in the tx queue. When a tid queue is flushed (e.g. on tearing down
an aggregation session), frames can be enqueued again as normal
transmission, without bf_next being cleared. This can lead to the
old pointer being dereferenced again later.

This patch might fix crashes and "Failed to stop TX DMA!" messages.

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>
</entry>
<entry>
<title>Revert "ath9k_hw: Updated AR9003 tx gain table for 5GHz"</title>
<updated>2012-10-31T17:10:22Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-10-17T11:50:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4ae29d121ef48cc7f3798e69bfde93742d83c760'/>
<id>urn:sha1:4ae29d121ef48cc7f3798e69bfde93742d83c760</id>
<content type='text'>
commit 73b26df5fa1a6245d6fc982362518b620bc7c2fe upstream.

This reverts commit a240dc7b3c7463bd60cf0a9b2a90f52f78aae0fd.

This commit is reducing tx power by at least 10 db on some devices,
e.g. the Buffalo WZR-HP-G450H.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Cc: rmanohar@qca.qualcomm.com
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ath9k: use ieee80211_free_txskb</title>
<updated>2012-10-21T16:32:41Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-10-03T19:07:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e36434d7c5606b6e16d1851cc99c0325cff91447'/>
<id>urn:sha1:e36434d7c5606b6e16d1851cc99c0325cff91447</id>
<content type='text'>
commit 249ee72249140fe5b9adc988f97298f0aa5db2fc upstream.

Using ieee80211_free_txskb for tx frames is required, since mac80211 clones
skbs for which socket tx status is requested.

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>
</entry>
<entry>
<title>ath9k: Disable ASPM only for AR9285</title>
<updated>2012-10-07T15:39:33Z</updated>
<author>
<name>Sujith Manoharan</name>
</author>
<published>2012-09-21T18:44:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a7dcc9ae24f131dd2ee85eacc9c04d5562ef170'/>
<id>urn:sha1:1a7dcc9ae24f131dd2ee85eacc9c04d5562ef170</id>
<content type='text'>
commit 046b6802c8d3c8a57448485513bf7291633e0fa3 upstream.

Currently, ASPM is disabled for all WLAN+BT combo chipsets
when BTCOEX is enabled. This is incorrect since the workaround
is required only for WB195, which is a AR9285+AR3011 combo
solution. Fix this by checking for the HW version when enabling
the workaround.

Signed-off-by: Sujith Manoharan &lt;c_manoha@qca.qualcomm.com&gt;
Tested-by: Paul Stewart &lt;pstew@chromium.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>
</entry>
<entry>
<title>ath9k: make PA linearization optional, disabled by default and fix checks</title>
<updated>2012-09-10T18:42:43Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-09-08T13:24:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74673db99ca3c09d34ea479f684522ceedb65eb9'/>
<id>urn:sha1:74673db99ca3c09d34ea479f684522ceedb65eb9</id>
<content type='text'>
Some checks for PA linearization support checked ATH9K_HW_CAP_PAPRD and some
used the EEPROM ops, leading to issues in tx power handling, since those
two can be out of sync.

Disable the feature by default, since it has been reported that it can
cause damage to the rx path under some circumstances. It can now be enabled
for testing via debugfs.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>ath9k: Fix a crash in 2 WIRE btcoex chipsets</title>
<updated>2012-09-05T18:53:33Z</updated>
<author>
<name>Mohammed Shafi Shajakhan</name>
</author>
<published>2012-08-28T06:44:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5d9b6f263995d7f43202d76cf2e23d43f9240a90'/>
<id>urn:sha1:5d9b6f263995d7f43202d76cf2e23d43f9240a90</id>
<content type='text'>
Generic timers for BTCOEX functionality is applicable
only for 3 WIRE BTCOEX (and MCI) chipsets.
Hence btcoex-&gt;no_stomp_timer is allocated only 3 WIRE
btcoex chipsets and in all the other cases its NULL.
Make sure we stop the generic timer only if
'btcoex-&gt;hw_timer_enabled' is true(only if its up and
running)

Fixes the following crash

	[68757.020454] BUG: unable to handle kernel NULL pointer dereference at 0000000c
	[68757.020916] IP: [&lt;f9b055c3&gt;] ath9k_hw_gen_timer_stop+0x13/0x80 [ath9k_hw]
	[68757.021251] *pde = 00000000
	[68757.024384] EIP: 0060:[&lt;f9b055c3&gt;] EFLAGS: 00010082 CPU: 0
	[68757.024384] EIP is at ath9k_hw_gen_timer_stop+0x13/0x80 [ath9k_hw]
	[68757.024384] EAX: d32d0000 EBX: d32d0000 ECX: 00000000 EDX: 00000000
	[68757.024384] ESI: e67c24c0 EDI: 00000296 EBP: e137be2c ESP: e137be20
	[68757.024384]  DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
	[68757.024384] CR0: 8005003b CR2: 0000000c CR3: 00b99000 CR4: 000407d0
	[68757.024384] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
	[68757.024384] DR6: ffff0ff0 DR7: 00000400
	[68757.024384] Process kworker/u:2 (pid: 8917, ti=e137a000 task=ea7a6860 task.ti=e137a000)
	[68757.024384] Stack:
	[68757.024384]  c06c4676 d32d0000 e67c24c0 e137be38 f81c9590 e67c1ca0 e137be40 f81c95d9
	[68757.024384]  e137be64 f81cd1c5 00000246 00000002 d32d0000 e67c05e0 e67c1ca0 e67c05e0
	[68757.024384]  00000000 e137beac f81cdfa0 e137be84 00000246 00000246 e67c1ca0 e67c1ca0
	[68757.024384] Call Trace:
	[68757.024384]  [&lt;c06c4676&gt;] ? _raw_spin_lock_irqsave+0x86/0xa0
	[68757.024384]  [&lt;f81c9590&gt;] ath9k_gen_timer_stop+0x10/0x40 [ath9k]
	[68757.024384]  [&lt;f81c95d9&gt;] ath9k_btcoex_stop_gen_timer+0x19/0x20 [ath9k]
	[68757.024384]  [&lt;f81cd1c5&gt;] ath9k_ps_restore+0x85/0x110 [ath9k]
	[68757.024384]  [&lt;f81cdfa0&gt;] ath9k_config+0x220/0x520 [ath9k]
	[68757.024384]  [&lt;f81cd47d&gt;] ? ath9k_flush+0x15d/0x1b0 [ath9k]
	[68757.024384]  [&lt;f85c7ca5&gt;] ieee80211_hw_config+0x135/0x2c0 [mac80211]
	[68757.024384]  [&lt;f860e3c8&gt;] ieee80211_dynamic_ps_enable_work+0x198/0x5f0 [mac80211]

Cc: Rajkumar Manoharan &lt;rmanohar@qca.qualcomm.com&gt;
Cc: Bala Shanmugam &lt;bkamatch@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>
</entry>
<entry>
<title>ath9k_hw: enable PA linearization</title>
<updated>2012-09-05T18:53:33Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-08-27T15:00:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3ccc1a56280119fe1fbf9929a76b4034358bfef'/>
<id>urn:sha1:b3ccc1a56280119fe1fbf9929a76b4034358bfef</id>
<content type='text'>
This feature had been disabled in ath9k because the code to support
it was incomplete, but now the code is in sync with the internal QCA
codebase, so it's time to enable it.

On many newer devices, the calibration is assumed to be done with PA
linearization enabled.

Tests with a particular AR933x device showed that the signal emitted
at full power was highly distorted and unreliable with PA linearization
disabled. With this patch, the signal becomes clear and stability
is improved.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>ath9k: fix PA linearization calibration related crash</title>
<updated>2012-09-05T18:53:32Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-08-27T15:00:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=51dea9be7e01d7e825ed1882246693f09c21374c'/>
<id>urn:sha1:51dea9be7e01d7e825ed1882246693f09c21374c</id>
<content type='text'>
Before PAPRD training can run, the card needs to have sent a packet for
thermal calibration. Sending a dummy packet with the PAPRD training flag
set causes a crash under some circumstance.
Fix the code by replacing the dummy tx with a delay that waits for a
real packet tx to have occurred.

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
<entry>
<title>ath9k_hw: disable PA linearization for AR9462</title>
<updated>2012-09-05T18:53:32Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2012-08-27T15:00:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1630d25fd00f195f0923d4b895e0529fdbba83c3'/>
<id>urn:sha1:1630d25fd00f195f0923d4b895e0529fdbba83c3</id>
<content type='text'>
Support for it is incomplete

Signed-off-by: Felix Fietkau &lt;nbd@openwrt.org&gt;
Signed-off-by: John W. Linville &lt;linville@tuxdriver.com&gt;
</content>
</entry>
</feed>
