diff options
| -rw-r--r-- | drivers/net/wireless/ath9k/xmit.c | 8 | 
1 files changed, 6 insertions, 2 deletions
| diff --git a/drivers/net/wireless/ath9k/xmit.c b/drivers/net/wireless/ath9k/xmit.c index e3f376611f8..0aae8f349ff 100644 --- a/drivers/net/wireless/ath9k/xmit.c +++ b/drivers/net/wireless/ath9k/xmit.c @@ -1852,13 +1852,17 @@ static int ath_tx_num_badfrms(struct ath_softc *sc, struct ath_buf *bf,  	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 ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;  	struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);  	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;  	if (ds->ds_txstat.ts_status & ATH9K_TXERR_FILT)  		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);  		} -		ath_tx_rc_status(bf, ds, nbad); +		ath_tx_rc_status(bf, ds, nbad, txok);  		if (bf_isampdu(bf))  			ath_tx_complete_aggr(sc, txq, bf, &bf_head, txok); | 
