• Felix Fietkau's avatar
    ath5k: fix regression in tx status processing · 7ede612f
    Felix Fietkau authored
    The regression was introduced in the following commit:
    
    0967e01e
    "ath5k: make use of the new rate control API"
    
    ath5k_tx_frame_completed saves the intended per-rate retry counts before
    they are cleared by ieee80211_tx_info_clear_status, however at this
    point the information in info->status.rates is incomplete.
    
    This causes significant throughput degradation and excessive packet loss
    on links where high bit rates don't work properly.
    
    Move the copy from bf->rates a few lines up to ensure that the saved
    retry counts are updated, and that they are really cleared in
    info->status.rates after the call to ieee80211_tx_info_clear_status.
    
    Cc: stable@vger.kernel.org # 3.10+
    Cc: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
    Cc: Benjamin Vahl <bvahl@net.t-labs.tu-berlin.de>
    Reported-by: default avatarBen West <ben@gowasabi.net>
    Signed-off-by: default avatarFelix Fietkau <nbd@openwrt.org>
    Acked-by: default avatarThomas Huehn <thomas@net.t-labs.tu-berlin.de>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    7ede612f
base.c 83.4 KB