mirror of https://gitee.com/openkylin/linux.git
ath9k: fix software retry counter tracking
The recent tx path cleanups moved the software retry count tracking from the ath_buf to the skb cb, however the actual counter update referred to the wrong location, confusing block-ack window tracking. Fix this by using the retries counter in the struct ath_frame_info. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
81fc2a3320
commit
8b7f8532d1
|
@ -250,11 +250,11 @@ static void ath_tid_drain(struct ath_softc *sc, struct ath_txq *txq,
|
||||||
static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq,
|
static void ath_tx_set_retry(struct ath_softc *sc, struct ath_txq *txq,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
|
struct ath_frame_info *fi = get_frame_info(skb);
|
||||||
struct ieee80211_hdr *hdr;
|
struct ieee80211_hdr *hdr;
|
||||||
|
|
||||||
TX_STAT_INC(txq->axq_qnum, a_retries);
|
TX_STAT_INC(txq->axq_qnum, a_retries);
|
||||||
if (tx_info->control.rates[4].count++ > 0)
|
if (fi->retries++ > 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
hdr = (struct ieee80211_hdr *)skb->data;
|
hdr = (struct ieee80211_hdr *)skb->data;
|
||||||
|
|
Loading…
Reference in New Issue