<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/wireless/ath, branch linux-2.6.33.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.33.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2011-07-13T03:31:24Z</updated>
<entry>
<title>ath5k: fix memory leak when fewer than N_PD_CURVES are in use</title>
<updated>2011-07-13T03:31:24Z</updated>
<author>
<name>Eugene A. Shatokhin</name>
</author>
<published>2011-06-29T03:04:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=44252341f94309e76aeba0b7c805fb46b2d72fdc'/>
<id>urn:sha1:44252341f94309e76aeba0b7c805fb46b2d72fdc</id>
<content type='text'>
commit a0b8de350be458b33248e48b2174d9af8a4c4798 upstream.

We would free the proper number of curves, but in the wrong
slots, due to a missing level of indirection through
the pdgain_idx table.

It's simpler just to try to free all four slots, so do that.

Signed-off-by: Bob Copeland &lt;me@bobcopeland.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>
</entry>
<entry>
<title>ath9k: set 40 Mhz rate only if hw is configured in ht40</title>
<updated>2011-06-23T22:28:39Z</updated>
<author>
<name>Rajkumar Manoharan</name>
</author>
<published>2011-05-20T12:22:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a32d86b9e73db139ecda70c98c28d840fd04211'/>
<id>urn:sha1:1a32d86b9e73db139ecda70c98c28d840fd04211</id>
<content type='text'>
commit 41e2b05b9598d6bdf91fc20280bfc538d853f769 upstream.

Whenever there is a channel width change from 40 Mhz to 20 Mhz,
the hardware is reconfigured to ht20. Meantime before doing
the rate control updation, the packets are being transmitted are
selected rate with IEEE80211_TX_RC_40_MHZ_WIDTH.

While transmitting ht40 rate packets in ht20 mode is causing
baseband panic with AR9003 based chips.

==== BB update: BB status=0x02001109 ====
ath: ** BB state: wd=1 det=1 rdar=0 rOFDM=1 rCCK=1 tOFDM=0 tCCK=0 agc=2
src=0 **
ath: ** BB WD cntl: cntl1=0xffff0085 cntl2=0x00000004 **
ath: ** BB mode: BB_gen_controls=0x000033c0 **
ath: ** BB busy times: rx_clear=99%, rx_frame=0%, tx_frame=0% **
ath: ==== BB update: done ====

Signed-off-by: Rajkumar Manoharan &lt;rmanoharan@atheros.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>
</entry>
<entry>
<title>ath: add missing regdomain pair 0x5c mapping</title>
<updated>2011-05-09T23:04:33Z</updated>
<author>
<name>Christian Lamparter</name>
</author>
<published>2011-04-06T18:40:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6fe8008a04250492fb38c84e046cf828ad5546a'/>
<id>urn:sha1:e6fe8008a04250492fb38c84e046cf828ad5546a</id>
<content type='text'>
commit bd39a274fb7b43374c797bafdb7f506598f36f77 upstream.

Joe Culler reported a problem with his AR9170 device:

&gt; ath: EEPROM regdomain: 0x5c
&gt; ath: EEPROM indicates we should expect a direct regpair map
&gt; ath: invalid regulatory domain/country code 0x5c
&gt; ath: Invalid EEPROM contents

It turned out that the regdomain 'APL7_FCCA' was not mapped yet.
According to Luis R. Rodriguez [Atheros' engineer] APL7 maps to
FCC_CTL and FCCA maps to FCC_CTL as well, so the attached patch
should be correct.

Reported-by: Joe Culler &lt;joe.culler@gmail.com&gt;
Acked-by: Luis R. Rodriguez &lt;lrodriguez@atheros.com&gt;
Signed-off-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@suse.de&gt;

</content>
</entry>
<entry>
<title>ath9k: fix a chip wakeup related crash in ath9k_start</title>
<updated>2011-04-14T23:52:56Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2011-03-25T16:43:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fadb4c27cf5db424717b921f15ec57869451af51'/>
<id>urn:sha1:fadb4c27cf5db424717b921f15ec57869451af51</id>
<content type='text'>
commit f62d816fc4324afbb7cf90110c70b6a14139b225 upstream.

When the chip is still asleep when ath9k_start is called,
ath9k_hw_configpcipowersave can trigger a data bus error.

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>
</entry>
<entry>
<title>ath9k_hw: Fix incorrect macversion and macrev checks</title>
<updated>2011-03-21T19:45:39Z</updated>
<author>
<name>Senthil Balasubramanian</name>
</author>
<published>2010-12-22T15:44:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1fdde2920cdf3926e64d4973bfc4d326d99e7079'/>
<id>urn:sha1:1fdde2920cdf3926e64d4973bfc4d326d99e7079</id>
<content type='text'>
commit ac45c12dfb3f727a5a7a3332ed9c11b4a5ab287e upstream.

There are few places where we are checking for macversion and revsions
before RTC is powered ON. However we are reading the macversion and
revisions only after RTC is powered ON and so both macversion and
revisions are actully zero and this leads to incorrect srev checks

Incorrect srev checks can cause registers to be configured wrongly and can
cause unexpected behavior. Fixing this seems to address the ASPM issue that
we have observed. The laptop becomes very slow and hangs mostly with ASPM L1
enabled without this fix.

fix this by reading the macversion and revisisons even before we start
using them. There is no reason why should we delay reading this info
until RTC is powered on as this is just a register information.

Signed-off-by: Senthil Balasubramanian &lt;senthilkumar@atheros.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>
</entry>
<entry>
<title>ath5k: initialize ah-&gt;ah_current_channel</title>
<updated>2010-08-02T17:26:50Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2010-06-18T17:15:23Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e5e6ee1551f48f18e08f32cbbfe48407c2e77ae8'/>
<id>urn:sha1:e5e6ee1551f48f18e08f32cbbfe48407c2e77ae8</id>
<content type='text'>
commit b6855772f4a22c4fbdd4fcaceff5c8a527035123 upstream.

ath5k assumes ah_current_channel is always a valid pointer in
several places, but a newly created interface may not have a
channel.  To avoid null pointer dereferences, set it up to point
to the first available channel until later reconfigured.

This fixes the following oops:
$ rmmod ath5k
$ insmod ath5k
$ iw phy0 set distance 11000

BUG: unable to handle kernel NULL pointer dereference at 00000006
IP: [&lt;d0a1ff24&gt;] ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k]
*pde = 00000000
Oops: 0000 [#1]
last sysfs file: /sys/devices/pci0000:00/0000:00:0e.0/ieee80211/phy0/index
Modules linked in: usbhid option usb_storage usbserial usblp evdev lm90
scx200_acb i2c_algo_bit i2c_dev i2c_core via_rhine ohci_hcd ne2k_pci
8390 leds_alix2 xt_IMQ imq nf_nat_tftp nf_conntrack_tftp nf_nat_irc nf_cc

Pid: 1597, comm: iw Not tainted (2.6.32.14 #8)
EIP: 0060:[&lt;d0a1ff24&gt;] EFLAGS: 00010296 CPU: 0
EIP is at ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k]
EAX: 000000c2 EBX: 00000000 ECX: ffffffff EDX: c12d2080
ESI: 00000019 EDI: cf8c0000 EBP: d0a30edc ESP: cfa09bf4
  DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
Process iw (pid: 1597, ti=cfa09000 task=cf88a000 task.ti=cfa09000)
Stack:
  d0a34f35 d0a353f8 d0a30edc 000000fe cf8c0000 00000000 1900063d cfa8c9e0
&lt;0&gt; cfa8c9e8 cfa8c0c0 cfa8c000 d0a27f0c 199d84b4 cfa8c200 00000010 d09bfdc7
&lt;0&gt; 00000000 00000000 ffffffff d08e0d28 cf9263c0 00000001 cfa09cc4 00000000
Call Trace:
  [&lt;d0a27f0c&gt;] ? ath5k_hw_attach+0xc8c/0x3c10 [ath5k]
  [&lt;d09bfdc7&gt;] ? __ieee80211_request_smps+0x1347/0x1580 [mac80211]
  [&lt;d08e0d28&gt;] ? nl80211_send_scan_start+0x7b8/0x4520 [cfg80211]
  [&lt;c10f5db9&gt;] ? nla_parse+0x59/0xc0
  [&lt;c11ca8d9&gt;] ? genl_rcv_msg+0x169/0x1a0
  [&lt;c11ca770&gt;] ? genl_rcv_msg+0x0/0x1a0
  [&lt;c11c7e68&gt;] ? netlink_rcv_skb+0x38/0x90
  [&lt;c11c9649&gt;] ? genl_rcv+0x19/0x30
  [&lt;c11c7c03&gt;] ? netlink_unicast+0x1b3/0x220
  [&lt;c11c893e&gt;] ? netlink_sendmsg+0x26e/0x290
  [&lt;c11a409e&gt;] ? sock_sendmsg+0xbe/0xf0
  [&lt;c1032780&gt;] ? autoremove_wake_function+0x0/0x50
  [&lt;c104d846&gt;] ? __alloc_pages_nodemask+0x106/0x530
  [&lt;c1074933&gt;] ? do_lookup+0x53/0x1b0
  [&lt;c10766f9&gt;] ? __link_path_walk+0x9b9/0x9e0
  [&lt;c11acab0&gt;] ? verify_iovec+0x50/0x90
  [&lt;c11a42b1&gt;] ? sys_sendmsg+0x1e1/0x270
  [&lt;c1048e50&gt;] ? find_get_page+0x10/0x50
  [&lt;c104a96f&gt;] ? filemap_fault+0x5f/0x370
  [&lt;c1059159&gt;] ? __do_fault+0x319/0x370
  [&lt;c11a55b4&gt;] ? sys_socketcall+0x244/0x290
  [&lt;c101962c&gt;] ? do_page_fault+0x1ec/0x270
  [&lt;c1019440&gt;] ? do_page_fault+0x0/0x270
  [&lt;c1002ae5&gt;] ? syscall_call+0x7/0xb
Code: 00 b8 fe 00 00 00 b9 f8 53 a3 d0 89 5c 24 14 89 7c 24 10 89 44 24
0c 89 6c 24 08 89 4c 24 04 c7 04 24 35 4f a3 d0 e8 7c 30 60 f0 &lt;0f&gt; b7
43 06 ba 06 00 00 00 a8 10 75 0e 83 e0 20 83 f8 01 19 d2
EIP: [&lt;d0a1ff24&gt;] ath5k_hw_set_coverage_class+0x74/0x1b0 [ath5k] SS:ESP
0068:cfa09bf4
CR2: 0000000000000006
---[ end trace 54f73d6b10ceb87b ]---

Reported-by: Steve Brown &lt;sbrown@cortland.com&gt;
Signed-off-by: Bob Copeland &lt;me@bobcopeland.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>
</entry>
<entry>
<title>ath9k: Avoid corrupt frames being forwarded to mac80211.</title>
<updated>2010-08-02T17:26:30Z</updated>
<author>
<name>Vivek Natarajan</name>
</author>
<published>2010-04-27T07:35:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c0f998499506a7be35eaa9d9c31a2d5f6ab59cd4'/>
<id>urn:sha1:c0f998499506a7be35eaa9d9c31a2d5f6ab59cd4</id>
<content type='text'>
commit 3a37495268ab45507b4cab9d4cb18c5496ab7a10 upstream.

If bit 29 is set, MAC H/W can attempt to decrypt the received aggregate
with WEP or TKIP, eventhough the received frame may be a CRC failed
corrupted frame. If this bit is set, H/W obeys key type in keycache.
If it is not set and if the key type in keycache is neither open nor
AES, H/W forces key type to be open.  But bit 29 should be set to 1
for AsyncFIFO feature to encrypt/decrypt the aggregate with WEP or TKIP.

Reported-by: Johan Hovold &lt;johan.hovold@lundinova.se&gt;
Signed-off-by: Vivek Natarajan &lt;vnatarajan@atheros.com&gt;
Signed-off-by: Ranga Rao Ravuri &lt;ranga.ravuri@atheros.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>
</entry>
<entry>
<title>ath5k: drop warning on jumbo frames</title>
<updated>2010-08-02T17:26:30Z</updated>
<author>
<name>Luis R. Rodriguez</name>
</author>
<published>2010-05-10T19:26:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6e25e382f5a412040fe635bdc2145694f7c462d8'/>
<id>urn:sha1:6e25e382f5a412040fe635bdc2145694f7c462d8</id>
<content type='text'>
commit 9637e516d16a58b13f6098cfe899e22963132be3 upstream.

Jumbo frames are not supported, and if they are seen it is likely
a bogus frame so just silently discard them instead of warning on
them all time. Also, instead of dropping them immediately though
move the check *after* we check for all sort of frame errors. This
should enable us to discard these frames if the hardware picks
other bogus items first. Lets see if we still get those jumbo
counters increasing still with this.

Jumbo frames would happen if we tell hardware we can support
a small 802.11 chunks of DMA'd frame, hardware would split RX'd
frames into parts and we'd have to reconstruct them in software.
This is done with USB due to the bulk size but with ath5k we
already provide a good limit to hardware and this should not be
happening.

This is reported quite often and if it fills the logs then this
needs to be addressed and to avoid spurious reports.

Signed-off-by: Luis R. Rodriguez &lt;lrodriguez@atheros.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>
</entry>
<entry>
<title>ath5k: retain promiscuous setting</title>
<updated>2010-07-05T18:16:00Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2010-06-04T12:14:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ff46e9ac912b01da5325f47e7ed1c069d2d3aeef'/>
<id>urn:sha1:ff46e9ac912b01da5325f47e7ed1c069d2d3aeef</id>
<content type='text'>
commit 6b5dcccb495b66b3b0b9581cdccfed038e5d68a2 upstream.

Commit 56d1de0a21db28e41741cfa0a66e18bc8d920554, "ath5k: clean up
filter flags setting" introduced a regression in monitor mode such
that the promisc filter flag would get lost.

Although we set the promisc flag when it changed, we did not
preserve it across subsequent calls to configure_filter.  This patch
restores the original functionality.

Bisected-by: weedy2887@gmail.com
Tested-by: weedy2887@gmail.com
Tested-by: Rick Farina &lt;sidhayn@gmail.com&gt;
Signed-off-by: Bob Copeland &lt;me@bobcopeland.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>
</entry>
<entry>
<title>ath5k: consistently use rx_bufsize for RX DMA</title>
<updated>2010-07-05T18:15:44Z</updated>
<author>
<name>Bruno Randolf</name>
</author>
<published>2010-05-19T01:18:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64b914d6daa61a17a8124a9b705de325178d59e0'/>
<id>urn:sha1:64b914d6daa61a17a8124a9b705de325178d59e0</id>
<content type='text'>
commit b5eae9ff5ba6d76de19286dd6429acd7cde3f79d upstream.

We should use the same buffer size we set up for DMA also in the hardware
descriptor. Previously we used common-&gt;rx_bufsize for setting up the DMA
mapping, but used skb_tailroom(skb) for the size we tell to the hardware in the
descriptor itself. The problem is that skb_tailroom(skb) can give us a larger
value than the size we set up for DMA before. This allows the hardware to write
into memory locations not set up for DMA. In practice this should rarely happen
because all packets should be smaller than the maximum 802.11 packet size.

On the tested platform rx_bufsize is 2528, and we allocated an skb of 2559
bytes length (including padding for cache alignment) but sbk_tailroom() was
2592. Just consistently use rx_bufsize for all RX DMA memory sizes.

Also use the return value of the descriptor setup function.

Signed-off-by: Bruno Randolf &lt;br1@einfach.org&gt;
Reviewed-by: Luis R. Rodriguez &lt;lrodriguez@atheros.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>
</entry>
</feed>
