ath10k: add fragmentation handler for high latency devices
authorWen Gong <wgong@codeaurora.org>
Fri, 26 Apr 2019 06:41:10 +0000 (09:41 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 29 Apr 2019 14:37:44 +0000 (17:37 +0300)
commit33f9747291ff384aeed7f0c97c19d5dba621f265
treed40ed3cb7d31605fe94ec33a700720f88c3a4fca
parent130c77495708c61f0aa839e436a8a3a973824b19
ath10k: add fragmentation handler for high latency devices

On high latency devices (SDIO, USB) ath10k did not handle fragmented frames and
all fragmented frames on receive path were lost in ath10k. Even a simple ping
test failed with fragmentation.

The fragmented packets are decapsulated based on the security mode, then the PN
is checked and the fragmented frame is passed to mac80211.  mac80211 in
ieee80211_rx_h_defragment() will then combine the fragment frames and forward
to upper layers.

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

Signed-off-by: Wen Gong <wgong@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/ath10k/htt.h
drivers/net/wireless/ath/ath10k/htt_rx.c