Skip to content
  • Lorenzo Bianconi's avatar
    ath9k: fix an issue in ath_atx_tid paused flag management · 75401849
    Lorenzo Bianconi authored
    
    
    I noticed a possible issue in the paused flag management of the
    ath_atx_tid data structure. In particular, in a noisy environment and
    under heavy load, I observed that the AGGR session establishment could
    fail several times consecutively causing values of the paused flag
    greater than one for this TID (ath_tx_pause_tid is called more than
    once from ath_tx_aggr_start).
    
    Considering that the session for this TID can not be established also
    after the mac80211 stack calls the ieee80211_agg_tx_operational() since
    the ath_tx_aggr_resume() lowers the paused flag only by one.
    
    This patch also replaces some BUG_ON calls with WARN_ON, as even if
    these unlikely conditions happen, it's not fatal enough to justify a
    BUG_ON.
    
    Signed-off-by: default avatarLorenzo Bianconi <lorenzo.bianconi83@gmail.com>
    Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    75401849