• Wen Gong's avatar
    ath10k: add reorder and change PN check logic for mac80211 · db8deae0
    Wen Gong authored
    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: default avatarWen Gong <wgong@codeaurora.org>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    db8deae0
htt_rx.c 111 KB