Bhagavathi Perumal S <bperumal@xxxxxxxxxxxxxx> wrote: > 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@xxxxxxxxxxxxxx> > Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxx> Patch applied to ath-next branch of ath.git, thanks. a2864772f33a ath10k: fix warning due to msdu limit error -- https://patchwork.kernel.org/patch/10688251/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches