OpenCloudOS-Kernel/drivers/net/wireless/ath
Mohammed Shafi Shajakhan 4fc4fbd1d9 ath9k: Fix incorrect access of rate flags in RC
The index variable to access the rate flags should be obtained from the
inner loop counter which corresponds to the rate table structure.This
fixes the invalid rate selection i.e when the supported basic rate is
invalid on a particular band and also the following warning message.
Thanks to Raj for finding this out.

Call Trace:

 [<ffffffff8104ee4a>] warn_slowpath_common+0x7a/0xb0

 [<ffffffff8104ee95>] warn_slowpath_null+0x15/0x20

 [<ffffffffa0583c45>] ath_get_rate+0x595/0x5b0 [ath9k]

 [<ffffffff811a0636>] ? cpumask_next_and+0x36/0x50

 [<ffffffffa0405186>] rate_control_get_rate+0x86/0x160 [mac80211]

 [<ffffffffa040dfac>] invoke_tx_handlers+0x81c/0x12d0 [mac80211]

 [<ffffffffa040eae9>] ieee80211_tx+0x89/0x2b0 [mac80211]

 [<ffffffff812891bc>] ? pskb_expand_head+0x1cc/0x1f0

 [<ffffffffa040edc5>] ieee80211_xmit+0xb5/0x1c0 [mac80211]

 [<ffffffffa041026f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]

 [<ffffffffa03fe016>] ieee80211_send_nullfunc+0x46/0x60 [mac80211]

 [<ffffffffa03f91d7>] ieee80211_offchannel_stop_station+0x107/0x150
[mac80211]

 [<ffffffff812891bc>] ? pskb_expand_head+0x1cc/0x1f0

 [<ffffffffa040edc5>] ieee80211_xmit+0xb5/0x1c0 [mac80211]

 [<ffffffffa041026f>] ieee80211_tx_skb+0x4f/0x60 [mac80211]

 [<ffffffffa03fe016>] ieee80211_send_nullfunc+0x46/0x60 [mac80211]

 [<ffffffffa03f91d7>] ieee80211_offchannel_stop_station+0x107/0x150
[mac80211]

 [<ffffffffa03f8896>] ieee80211_scan_work+0x146/0x600 [mac80211]

 [<ffffffff8133a375>] ? schedule+0x2f5/0x8e0

 [<ffffffffa03f8750>] ? ieee80211_scan_work+0x0/0x600 [mac80211]

 [<ffffffff81064fcf>] process_one_work+0x10f/0x380

 [<ffffffff81066bc2>] worker_thread+0x162/0x340

 [<ffffffff81066a60>] ? worker_thread+0x0/0x340

Cc: stable@kernel.org
Signed-off-by: Mohammed Shafi Shajakhan <mshajakhan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-29 14:33:25 -04:00
..
ar9170 ar9170: Remove MODULE_FIRMWARE references to two-stage firmware 2010-10-05 13:35:22 -04:00
ath5k ath5k: Fix double free on hw attach error path 2010-10-27 15:54:54 -04:00
ath9k ath9k: Fix incorrect access of rate flags in RC 2010-10-29 14:33:25 -04:00
carl9170 carl9170: fix scheduling while atomic 2010-10-25 14:45:56 -04:00
Kconfig carl9170: Makefile, Kconfig files and MAINTAINERS 2010-09-14 16:03:42 -04:00
Makefile ath: Copy key cache management functions from ath9k to ath 2010-09-16 15:19:45 -04:00
ath.h ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
debug.c ath5k: fix build break from "ath5k: Print out opmode in debugfs" 2010-10-12 16:05:30 -04:00
debug.h ath5k: fix build break from "ath5k: Print out opmode in debugfs" 2010-10-12 16:05:30 -04:00
hw.c ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
key.c ath/ath9k: Replace common->splitmic with a flag 2010-09-16 15:19:45 -04:00
main.c ath: add common ath_rxbuf_alloc() and make ath9k use it 2009-08-14 09:14:05 -04:00
reg.h ath9k_hw: move the cycle counter tracking to ath 2010-10-11 15:04:20 -04:00
regd.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
regd.h ath9k_hw: fix parsing of HT40 5 GHz CTLs 2010-08-31 14:52:23 -04:00
regd_common.h ath: Updates for regulatory and country codes. 2009-10-27 16:50:04 -04:00