From: Sujith Manoharan Date: Fri, 19 Dec 2014 01:03:55 +0000 (+0530) Subject: ath9k: Fix no-ack frame status X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=2b5b8f19fbf3b8337599db33cdf1afa84c1dde8d;p=deliverable%2Flinux.git ath9k: Fix no-ack frame status Check if the frame has been completed without any error and use IEEE80211_TX_STAT_NOACK_TRANSMITTED to indicate successful transmission of no-ack frames. Signed-off-by: Sujith Manoharan Signed-off-by: Kalle Valo --- diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 1176d919569e..1b8e75c4d2c2 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c @@ -2489,9 +2489,12 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb, if (sc->sc_ah->caldata) set_bit(PAPRD_PACKET_SENT, &sc->sc_ah->caldata->cal_flags); - if (!(tx_flags & ATH_TX_ERROR)) - /* Frame was ACKed */ - tx_info->flags |= IEEE80211_TX_STAT_ACK; + if (!(tx_flags & ATH_TX_ERROR)) { + if (tx_info->flags & IEEE80211_TX_CTL_NO_ACK) + tx_info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED; + else + tx_info->flags |= IEEE80211_TX_STAT_ACK; + } padpos = ieee80211_hdrlen(hdr->frame_control); padsize = padpos & 3;