summaryrefslogtreecommitdiff
path: root/net/ncsi
diff options
context:
space:
mode:
authorBhagavathi Perumal S <bperumal@codeaurora.org>2018-12-20 10:53:34 +0300
committerKalle Valo <kvalo@codeaurora.org>2018-12-20 20:02:18 +0300
commita2864772f33aa0f22914049b7fe777b7d4ec05ee (patch)
tree90e893bf847b0a6599b3afa4172da5c18b057e35 /net/ncsi
parent68c295f21abc192163c416b333aca7c41a195075 (diff)
downloadlinux-a2864772f33aa0f22914049b7fe777b7d4ec05ee.tar.xz
ath10k: fix warning due to msdu limit error
Some hardwares variants (QCA99x0) are limiting msdu deaggregation with some threshold value(default limit in QCA99x0 is 64 msdus), it was introduced to avoid excessive MSDU-deaggregation in error cases. When number of sub frames exceeds the limit, target hardware will send all msdus starting from present msdu in RAW format as a single msdu packet and it will be indicated with error status bit "RX_MSDU_END_INFO0_MSDU_LIMIT_ERR" set in rx descriptor. This msdu frame is a partial raw MSDU and does't have first msdu and ieee80211 header. It caused below warning message. [ 320.151332] ------------[ cut here ]------------ [ 320.155006] WARNING: CPU: 0 PID: 3 at drivers/net/wireless/ath/ath10k/htt_rx.c:1188 In our issue case, MSDU limit error happened due to FCS error and generated this warning message. This fixes the warning by handling the MSDU limit error. If msdu limit error happens, driver adds first MSDU's ieee80211 header and sets A-MSDU present bit in QOS header so that upper layer processes this frame if it is valid or drop it if FCS error set. And removed the warning message, hence partial msdus without first msdu is expected in msdu limit error cases. Tested on QCA9984, Firmware 10.4-3.6-00104 Signed-off-by: Bhagavathi Perumal S <bperumal@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'net/ncsi')
0 files changed, 0 insertions, 0 deletions