• B
    ath10k: fix warning due to msdu limit error · a2864772
    Bhagavathi Perumal S 提交于
    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: NBhagavathi Perumal S <bperumal@codeaurora.org>
    Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
    a2864772
rx_desc.h 41.6 KB