Wen Gong <wgong@xxxxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. db8deae03271 ath10k: add reorder and change PN check logic for mac80211 -- https://patchwork.kernel.org/patch/11105545/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches