ath9k: Fill in ack signal in TX status
This patch fills the ack_signal field in TX status with an appropriate value from the TX descriptor. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
e71cef37f1
commit
95e4acb733
|
@ -1852,13 +1852,17 @@ static int ath_tx_num_badfrms(struct ath_softc *sc, struct ath_buf *bf,
|
||||||
return nbad;
|
return nbad;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ath_tx_rc_status(struct ath_buf *bf, struct ath_desc *ds, int nbad)
|
static void ath_tx_rc_status(struct ath_buf *bf, struct ath_desc *ds,
|
||||||
|
int nbad, int txok)
|
||||||
{
|
{
|
||||||
struct sk_buff *skb = (struct sk_buff *)bf->bf_mpdu;
|
struct sk_buff *skb = (struct sk_buff *)bf->bf_mpdu;
|
||||||
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
|
||||||
struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
|
struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
|
||||||
struct ath_tx_info_priv *tx_info_priv = ATH_TX_INFO_PRIV(tx_info);
|
struct ath_tx_info_priv *tx_info_priv = ATH_TX_INFO_PRIV(tx_info);
|
||||||
|
|
||||||
|
if (txok)
|
||||||
|
tx_info->status.ack_signal = ds->ds_txstat.ts_rssi;
|
||||||
|
|
||||||
tx_info_priv->update_rc = false;
|
tx_info_priv->update_rc = false;
|
||||||
if (ds->ds_txstat.ts_status & ATH9K_TXERR_FILT)
|
if (ds->ds_txstat.ts_status & ATH9K_TXERR_FILT)
|
||||||
tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED;
|
tx_info->flags |= IEEE80211_TX_STAT_TX_FILTERED;
|
||||||
|
@ -1996,7 +2000,7 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq)
|
||||||
nbad = ath_tx_num_badfrms(sc, bf, txok);
|
nbad = ath_tx_num_badfrms(sc, bf, txok);
|
||||||
}
|
}
|
||||||
|
|
||||||
ath_tx_rc_status(bf, ds, nbad);
|
ath_tx_rc_status(bf, ds, nbad, txok);
|
||||||
|
|
||||||
if (bf_isampdu(bf))
|
if (bf_isampdu(bf))
|
||||||
ath_tx_complete_aggr(sc, txq, bf, &bf_head, txok);
|
ath_tx_complete_aggr(sc, txq, bf, &bf_head, txok);
|
||||||
|
|
Loading…
Reference in New Issue