Bhagavathi Perumal S <bperumal@xxxxxxxxxxxxxx> writes: > 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> This introduced a new checkpatch warning: drivers/net/wireless/ath/ath10k/rx_desc.h:681: please, no space before tabs I fixed that in the pending branch. -- Kalle Valo