linux/drivers/net/wireless/ath
Wen Gong db8deae032 ath10k: add reorder and change PN check logic for mac80211
For sdio chip, if the rssi is not good, then it have some retry,
firmware will indicate the msdu list of a ppdu with a hole, it
means it lost the hole msdu, after the msdu retry from AP, the
hole msdu will indicate from firmware later. The hole msdu's PN
check will fail and the hole msdu will be dropped.

PN check fail example:
Sequence number PN number  PN check status
     3814         6101         success
     3815         6102         success
     3816         6103         success
     3818         6105         success
     3819         6106         success
     3820         6107         success
     3817         6104         fail

The correct logic is reorder the msdu list and then do PN check.
ieee80211_rx_reorder_ampdu of mac80211 will do the reorer logic
and then do PN check in ieee80211_rx_h_decrypt of mac80211.

example after reorder:
Sequence number PN number  PN check status
     3814         6101         success
     3815         6102         success
     3816         6103         success
     3817         6104         success
     3818         6105         success
     3819         6106         success
     3820         6107         success

Tested with QCA6174 SDIO with firmware
WLAN.RMH.4.4.1-00017-QCARMSWP-1.

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-09-10 16:21:01 +03:00
..
ar5523 ath: fix SPDX tags 2019-06-26 18:11:06 +03:00
ath5k ath: fix SPDX tags 2019-06-26 18:11:06 +03:00
ath6kl ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() 2019-09-04 09:23:26 +03:00
ath9k ath9k: dynack: set ackto to max timeout in ath_dynack_reset 2019-09-04 09:15:31 +03:00
ath10k ath10k: add reorder and change PN check logic for mac80211 2019-09-10 16:21:01 +03:00
carl9170 carl9170: remove set but not used variable 'udev' 2019-09-04 09:09:34 +03:00
wcn36xx wcn36xx: use dynamic allocation for large variables 2019-09-04 09:22:26 +03:00
wil6210 wil6210: Delete an unnecessary kfree() call in wil_tid_ampdu_rx_alloc() 2019-09-04 09:07:29 +03:00
ath.h ath: Remove unnecessary ath_bcast_mac and use eth_broadcast_addr 2018-03-29 12:10:26 +03:00
debug.c
dfs_pattern_detector.c ath: DFS JP domain W56 fixed pulse type 3 RADAR detection 2019-04-29 17:58:51 +03:00
dfs_pattern_detector.h ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
dfs_pri_detector.c
dfs_pri_detector.h ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
hw.c
Kconfig ath: fix SPDX tags 2019-06-26 18:11:06 +03:00
key.c
main.c
Makefile ath: fix SPDX tags 2019-06-26 18:11:06 +03:00
reg.h
regd_common.h ath: regd: add extra US coutry codes 2019-02-07 17:02:19 +02:00
regd.c
regd.h ath: drop duplicated define 2019-04-29 17:55:53 +03:00
spectral_common.h
trace.c
trace.h