linux/drivers/net/wireless/ath/ath9k
Felix Fietkau 2ef167557c ath9k: fix signal strength reporting issues
On A-MPDU frames, the hardware only reports valid signal strength data for
the last subframe. The driver also mangled rx_stats->rs_rssi using the
ATH_EP_RND macro in a way that may make sense for ANI, but definitely
not for reporting to mac80211.
This patch changes the code to calculate the signal strength from the rssi
directly instead of taking the average value, and flag everything but
the last subframe in an A-MPDU to tell mac80211 to ignore the signal strength
entirely, fixing signal strength fluctuation issues reported by various
users.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-03-07 13:51:39 -05:00
..
ahb.c drivers/net: Add module.h to drivers who were implicitly using it 2011-10-31 19:31:07 -04:00
ani.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
ani.h ath9k: Store noise immunity values across scanning 2011-09-20 14:43:49 -04:00
ar5008_initvals.h ath9k_hw: fix the last register write for ar5416 addac 2011-09-13 15:42:31 -04:00
ar5008_phy.c ath9k_hw: prevent writes to const data on AR9160 2012-02-21 14:45:25 -05:00
ar9001_initvals.h ath9k_hw: remove duplicate initvals 2012-02-27 14:05:41 -05:00
ar9002_calib.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
ar9002_hw.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-02-29 14:53:21 -05:00
ar9002_initvals.h ath9k_hw: remove duplicate initvals 2012-02-27 14:05:41 -05:00
ar9002_mac.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
ar9002_phy.c ath9k_hw: add a missing delay for an analog register 2011-07-11 15:02:15 -04:00
ar9002_phy.h
ar9003_2p2_initvals.h ath9k_hw: Updated AR9003 tx gain table for 5GHz 2011-10-14 14:48:21 -04:00
ar9003_calib.c ath9k_hw: Setup MCI calibration using a helper 2012-02-27 14:06:36 -05:00
ar9003_eeprom.c ath9k: Remove AR9462 v1.0 support 2012-02-27 14:06:33 -05:00
ar9003_eeprom.h ath9k_hw: Read and configure quick drop for AR9003 2011-11-11 12:32:48 -05:00
ar9003_hw.c ath9k: Remove AR9462 v1.0 support 2012-02-27 14:06:33 -05:00
ar9003_mac.c ath9k: get rid of double queueing of rx frames on EDMA 2012-03-07 13:51:38 -05:00
ar9003_mac.h ath9k: Fix descriptor length for AR9462 2012-02-27 14:05:44 -05:00
ar9003_mci.c ath9k_hw: MCI whitespace/debug cleanup 2012-02-27 14:06:40 -05:00
ar9003_mci.h ath9k_hw: Use CONFIG_ATH9K_BTCOEX_SUPPORT 2012-02-27 14:06:37 -05:00
ar9003_paprd.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
ar9003_phy.c ath9k: Initialize NF values properly 2012-02-27 14:05:44 -05:00
ar9003_phy.h ath9k: Remove AR9462 v1.0 support 2012-02-27 14:06:33 -05:00
ar9003_rtt.c ath9k_hw: fix sparse warnings on ar9003_rtt.c 2012-01-04 14:30:40 -05:00
ar9003_rtt.h ath9k_hw: Add radio retention support for AR9480 2011-10-14 14:48:22 -04:00
ar9330_1p1_initvals.h
ar9330_1p2_initvals.h
ar9340_initvals.h
ar9462_2p0_initvals.h ath9k: Remove unused initvals 2012-02-27 14:05:43 -05:00
ar9485_initvals.h ath9k_hw: Update AR9485 initvals to fix system hang issue 2011-11-02 15:23:12 -04:00
ar9580_1p0_initvals.h ath9k_hw: add AR9580 support 2011-08-26 10:47:58 -04:00
ath9k.h ath9k: get rid of double queueing of rx frames on EDMA 2012-03-07 13:51:38 -05:00
beacon.c ath9k: fix drv_tx_last_beacon on AR9003 by processing beacon tx status 2012-03-05 15:20:48 -05:00
btcoex.c ath9k: Remove ATH_BTCOEX_CFG_NONE checks 2012-02-27 14:06:38 -05:00
btcoex.h ath9k_hw: Use CONFIG_ATH9K_BTCOEX_SUPPORT 2012-02-27 14:06:37 -05:00
calib.c ath9k: Fix regression in channelwidth switch at the same channel 2012-01-10 15:46:40 -05:00
calib.h ath9k_hw: fix a comment 2012-01-10 15:46:39 -05:00
common.c ath9k_hw: clean up tx power handling 2011-10-11 16:41:26 -04:00
common.h ath9k: Move ath9k_init_crypto to common 2011-08-24 13:59:45 -04:00
debug.c ath9k: remove rssi/antenna information from recv debug stats 2012-03-07 13:51:38 -05:00
debug.h ath9k: remove rssi/antenna information from recv debug stats 2012-03-07 13:51:38 -05:00
dfs.c ath9k: fix roadkill due to Joe's patch on ath_dbg() changes 2011-12-21 15:06:11 -05:00
dfs.h ath9k: add DFS radar pulse processing 2011-12-15 14:46:37 -05:00
dfs_debug.c ath9k: add DFS radar pulse processing 2011-12-15 14:46:37 -05:00
dfs_debug.h ath9k: classify DFS debug header further 2011-12-21 15:06:09 -05:00
eeprom.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
eeprom.h ath9k_hw: Read and configure quick drop for AR9003 2011-11-11 12:32:48 -05:00
eeprom_4k.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
eeprom_9287.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
eeprom_def.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-01-03 15:16:34 -05:00
gpio.c ath9k: Remove ATH9K_HW_CAP_MCI checks 2012-02-27 14:06:39 -05:00
hif_usb.c ath9k: cleanup a min_t() cast 2012-02-06 14:55:42 -05:00
hif_usb.h ath9k_htc: Load firmware asynchronously 2012-01-30 15:48:42 -05:00
htc.h ath9k_htc: Use CONFIG_ATH9K_BTCOEX_SUPPORT 2012-02-27 14:06:38 -05:00
htc_drv_beacon.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
htc_drv_debug.c wireless: ath9k: use %pM to print MAC 2011-07-20 15:04:39 -04:00
htc_drv_gpio.c ath9k: Remove ATH_BTCOEX_CFG_NONE checks 2012-02-27 14:06:38 -05:00
htc_drv_init.c ath9k_htc: Init BTCOEX inside htc_drv_gpio.c 2012-02-27 14:06:38 -05:00
htc_drv_main.c ath9k_htc: Start/stop btcoex using a helper 2012-02-27 14:06:37 -05:00
htc_drv_txrx.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
htc_hst.c
htc_hst.h
hw-ops.h ath9k_hw: add DFS testing check 2011-12-15 14:46:37 -05:00
hw.c ath9k_hw: use cold instead of warm reset on AR9280 2012-03-07 13:51:37 -05:00
hw.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-02-29 14:53:21 -05:00
init.c ath9k: make MAC sample statistics optional 2012-03-07 13:51:38 -05:00
Kconfig ath9k: make MAC sample statistics optional 2012-03-07 13:51:38 -05:00
mac.c ath9k_hw: enable interrupts for beacon tx completion events 2012-03-05 15:20:48 -05:00
mac.h ath9k_hw: fix a regression in key miss handling 2011-10-11 16:41:29 -04:00
main.c ath9k: do not call ath9k_hw_txprocdesc on AR9003 outside of the tx tasklet 2012-03-05 15:20:47 -05:00
Makefile ath9k_hw: Use CONFIG_ATH9K_BTCOEX_SUPPORT 2012-02-27 14:06:37 -05:00
mci.c ath9k: Cleanup mci.c 2012-02-27 14:06:40 -05:00
mci.h ath9k_hw: Cleanup MCI bits from hw.h 2012-02-27 14:06:36 -05:00
pci.c ath9k_hw: make bluetooth coexistence support optional at compile time 2011-12-19 14:46:55 -05:00
phy.h
rc.c ath9k: completely zero intialize valid_phy_rate_idx 2012-03-05 15:23:14 -05:00
rc.h ath9k: completely zero intialize valid_phy_rate_idx 2012-03-05 15:23:14 -05:00
recv.c ath9k: fix signal strength reporting issues 2012-03-07 13:51:39 -05:00
reg.h ath9k: Remove AR9462 v1.0 support 2012-02-27 14:06:33 -05:00
wmi.c ath: Convert ath_dbg(bar, ATH_DBG_<FOO>, to ath_dbg(bar, FOO 2011-12-19 14:35:31 -05:00
wmi.h
xmit.c ath9k: fix drv_tx_last_beacon on AR9003 by processing beacon tx status 2012-03-05 15:20:48 -05:00