linux/drivers/net/wireless/ath/ath9k
Lorenzo Bianconi e1352fde56 ath9k: fix decrypt_error initialization in ath_rx_tasklet()
ath_rx_tasklet() calls ath9k_rx_skb_preprocess() and ath9k_rx_skb_postprocess()
in a loop over the received frames. The decrypt_error flag is
initialized to false
just outside ath_rx_tasklet() loop. ath9k_rx_accept(), called by
ath9k_rx_skb_preprocess(),
only sets decrypt_error to true and never to false.
Then ath_rx_tasklet() calls ath9k_rx_skb_postprocess() and passes
decrypt_error to it.
So, after a decryption error, in ath9k_rx_skb_postprocess(), we can
have a leftover value
from another processed frame. In that case, the frame will not be marked with
RX_FLAG_DECRYPTED even if it is decrypted correctly.
When using CCMP encryption this issue can lead to connection stuck
because of CCMP
PN corruption and a waste of CPU time since mac80211 tries to decrypt an already
deciphered frame with ieee80211_aes_ccm_decrypt.
Fix the issue initializing decrypt_error flag at the begging of the
ath_rx_tasklet() loop.

Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Cc: <stable@kernel.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-08-13 15:17:24 -04:00
..
ahb.c ath9k: add platform_device_id for AR9550 2012-07-09 16:36:24 -04:00
ani.c ath9k: fix ANI operation in AP mode 2012-06-28 14:37:46 -04:00
ani.h ath9k: fix ANI operation in AP mode 2012-06-28 14:37:46 -04:00
antenna.c ath9k: Move LNA code to antenna.c 2012-06-06 15:20:31 -04:00
ar955x_1p0_initvals.h ath9k: add initvals for AR9550 2012-07-09 16:36:26 -04:00
ar5008_initvals.h
ar5008_phy.c ath9k_hw: rename mrcCCKOff to fix smatch warning 2012-06-22 14:44:05 -04:00
ar9001_initvals.h ath9k_hw: remove duplicate initvals 2012-02-27 14:05:41 -05:00
ar9002_calib.c
ar9002_hw.c ath9k_hw: remove redundant arguments to INIT_INI_ARRAY 2012-07-17 15:11:34 -04:00
ar9002_initvals.h ath9k_hw: INI changes for WoW for AR9002 chipsets 2012-07-12 15:27:16 -04:00
ar9002_mac.c ath9k: Gather and report IRQ sync_cause errors. 2012-04-16 14:16:58 -04:00
ar9002_phy.c ath9k: remove dead code 2012-04-12 15:10:32 -04:00
ar9002_phy.h ath9k: inline AR9271 1.0 INI overrides 2012-03-15 13:45:08 -04:00
ar9003_2p2_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9003_calib.c ath9k_hw: do not load noise floor readings when it is running 2012-07-09 16:36:18 -04:00
ar9003_eeprom.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-07-20 12:30:48 -04:00
ar9003_eeprom.h ath9k_hw: apply XLNA bias settings from EEPROM 2012-07-17 15:11:36 -04:00
ar9003_hw.c ath9k_hw: remove redundant arguments to INIT_INI_ARRAY 2012-07-17 15:11:34 -04:00
ar9003_mac.c ath9k_hw: process MCI interrupts only when btcoex is enabled 2012-06-13 14:35:54 -04:00
ar9003_mac.h ath9k: Fix descriptor length for AR9462 2012-02-27 14:05:44 -05:00
ar9003_mci.c ath9k_hw: fix AR9462 2g5g switch on full reset 2012-07-09 16:36:20 -04:00
ar9003_mci.h ath9k_hw: remove MCI_STATE_SET_BT_SLEEP 2012-06-13 14:36:02 -04:00
ar9003_paprd.c ath9k: fix PAPRD settings for AR9550 2012-07-09 16:36:30 -04:00
ar9003_phy.c ath9k_hw: fix 5 GHz frequency selection on AR934x/AR955x with 25 MHz refclock 2012-07-17 15:11:32 -04:00
ar9003_phy.h ath9k_hw: apply XLNA bias settings from EEPROM 2012-07-17 15:11:36 -04:00
ar9003_rtt.c ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9003_rtt.h ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9330_1p1_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9330_1p2_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9340_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9462_2p0_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9485_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ar9580_1p0_initvals.h ath9k: de-duplicate initvals 2012-06-28 14:37:47 -04:00
ath9k.h ath9k: Fix race in reset-work usage 2012-07-17 15:11:40 -04:00
beacon.c ath9k: Fix race in reset-work usage 2012-07-17 15:11:40 -04:00
btcoex.c ath9k: improve BT FTP/PAN performance 2012-06-06 15:20:30 -04:00
btcoex.h ath9k: improve BT FTP/PAN performance 2012-06-06 15:20:30 -04:00
calib.c ath9k: fix max noise floor threshold 2012-03-26 15:07:23 -04:00
calib.h ath9k_hw: remove redundant arguments to INIT_INI_ARRAY 2012-07-17 15:11:34 -04:00
common.c
common.h
debug.c ath9k: Fix ANI management 2012-07-17 15:11:39 -04:00
debug.h ath9k: Fix race in reset-work usage 2012-07-17 15:11:40 -04:00
dfs.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs.h ath9k: update to DFS pattern detector interface 2012-04-11 16:23:54 -04:00
dfs_debug.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_debug.h ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_pattern_detector.c ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs_pattern_detector.h ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs_pri_detector.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_pri_detector.h ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
eeprom.c ath9k: move ath9k_hw_fbin2freq function to eeprom.h 2012-04-17 14:57:13 -04:00
eeprom.h ath9k_hw: clean up AR9003 EEPROM code 2012-07-17 15:11:36 -04:00
eeprom_4k.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-06-12 14:25:04 -04:00
eeprom_9287.c ath9k: Fix modal EEPROM dump 2012-06-05 15:23:20 -04:00
eeprom_def.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-06-12 14:25:04 -04:00
gpio.c ath9k: Stop the BTCOEX timers before disabling BTCOEX 2012-07-09 16:36:38 -04:00
hif_usb.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
hif_usb.h
htc.h ath9k_htc: Fix IDLE power save 2012-06-26 14:28:52 -04:00
htc_drv_beacon.c ath9k_htc: Use atomic operations for op_flags 2012-06-26 14:28:51 -04:00
htc_drv_debug.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
htc_drv_gpio.c ath9k_htc: Fix IDLE power save 2012-06-26 14:28:52 -04:00
htc_drv_init.c ath9k_htc: Use atomic operations for op_flags 2012-06-26 14:28:51 -04:00
htc_drv_main.c ath9k_hw: Cleanup ath9k_hw_set_tsfadjust 2012-07-17 15:11:38 -04:00
htc_drv_txrx.c ath9k_htc: Use atomic operations for op_flags 2012-06-26 14:28:51 -04:00
htc_hst.c ath: Add and use pr_fmt, convert printks to pr_<level> 2012-04-10 14:52:13 -04:00
htc_hst.h
hw-ops.h drivers/net: Remove boolean comparisons to true/false 2012-02-13 00:47:40 -05:00
hw.c ath9k: Add PID/VID support for AR1111 2012-08-03 10:11:14 -04:00
hw.h ath9k: Add PID/VID support for AR1111 2012-08-03 10:11:14 -04:00
init.c ath9k: Cleanup the beacon tasklet 2012-07-17 15:11:39 -04:00
Kconfig ath9k: make CONFIG_ATH9K_DFS_CERTIFIED depend on CFG80211_CERTIFICATION_ONUS 2012-07-17 15:11:31 -04:00
link.c ath9k: Fix race in reset-work usage 2012-07-17 15:11:40 -04:00
mac.c ath9k: fix interrupt storms on queued hardware reset 2012-08-10 14:50:24 -04:00
mac.h ath9k: fix interrupt storms on queued hardware reset 2012-08-10 14:50:24 -04:00
main.c ath9k: fix interrupt storms on queued hardware reset 2012-08-10 14:50:24 -04:00
Makefile ath9k_hw: Add hardware code for WoW 2012-07-12 15:27:16 -04:00
mci.c ath9k: Fix race in reset-work usage 2012-07-17 15:11:40 -04:00
mci.h ath9k: Setup MCI interrupts properly 2012-06-06 15:20:24 -04:00
pci.c ath9k: stop btcoex on device suspend 2012-08-10 14:51:29 -04:00
phy.h
rc.c ath9k: choose legacy rate as last rate of MRR series 2012-06-13 14:35:51 -04:00
rc.h ath9k: completely zero intialize valid_phy_rate_idx 2012-03-05 15:23:14 -05:00
recv.c ath9k: fix decrypt_error initialization in ath_rx_tasklet() 2012-08-13 15:17:24 -04:00
reg.h ath9k_hw: Add register definitions for WoW support 2012-07-12 15:27:15 -04:00
wmi.c
wmi.h
wow.c ath9k_hw: Add hardware code for WoW 2012-07-12 15:27:16 -04:00
xmit.c ath9k: Fix race in reset-work usage 2012-07-17 15:11:40 -04:00