浏览代码

ath9k: Nuke struct ath_xmit_status

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Vasanthakumar Thiagarajan 16 年之前
父节点
当前提交
6b2c40326f
共有 2 个文件被更改,包括 8 次插入21 次删除
  1. 0 4
      drivers/net/wireless/ath9k/ath9k.h
  2. 8 17
      drivers/net/wireless/ath9k/xmit.c

+ 0 - 4
drivers/net/wireless/ath9k/ath9k.h

@@ -295,13 +295,9 @@ struct ath_tx_control {
 	enum ath9k_internal_frame_type frame_type;
 	enum ath9k_internal_frame_type frame_type;
 };
 };
 
 
-struct ath_xmit_status {
-	int retries;
-	int flags;
 #define ATH_TX_ERROR        0x01
 #define ATH_TX_ERROR        0x01
 #define ATH_TX_XRETRY       0x02
 #define ATH_TX_XRETRY       0x02
 #define ATH_TX_BAR          0x04
 #define ATH_TX_BAR          0x04
-};
 
 
 /* All RSSI values are noise floor adjusted */
 /* All RSSI values are noise floor adjusted */
 struct ath_tx_stat {
 struct ath_tx_stat {

+ 8 - 17
drivers/net/wireless/ath9k/xmit.c

@@ -1750,7 +1750,7 @@ exit:
 /*****************/
 /*****************/
 
 
 static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
 static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
-			    struct ath_xmit_status *tx_status)
+			    int tx_flags)
 {
 {
 	struct ieee80211_hw *hw = sc->hw;
 	struct ieee80211_hw *hw = sc->hw;
 	struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
 	struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
@@ -1771,12 +1771,10 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
 		tx_info->rate_driver_data[0] = NULL;
 		tx_info->rate_driver_data[0] = NULL;
 	}
 	}
 
 
-	if (tx_status->flags & ATH_TX_BAR) {
+	if (tx_flags & ATH_TX_BAR)
 		tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
 		tx_info->flags |= IEEE80211_TX_STAT_AMPDU_NO_BACK;
-		tx_status->flags &= ~ATH_TX_BAR;
-	}
 
 
-	if (!(tx_status->flags & (ATH_TX_ERROR | ATH_TX_XRETRY))) {
+	if (!(tx_flags & (ATH_TX_ERROR | ATH_TX_XRETRY))) {
 		/* Frame was ACKed */
 		/* Frame was ACKed */
 		tx_info->flags |= IEEE80211_TX_STAT_ACK;
 		tx_info->flags |= IEEE80211_TX_STAT_ACK;
 	}
 	}
@@ -1803,29 +1801,22 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf,
 				int txok, int sendbar)
 				int txok, int sendbar)
 {
 {
 	struct sk_buff *skb = bf->bf_mpdu;
 	struct sk_buff *skb = bf->bf_mpdu;
-	struct ath_xmit_status tx_status;
 	unsigned long flags;
 	unsigned long flags;
+	int tx_flags = 0;
 
 
-	/*
-	 * Set retry information.
-	 * NB: Don't use the information in the descriptor, because the frame
-	 * could be software retried.
-	 */
-	tx_status.retries = bf->bf_retries;
-	tx_status.flags = 0;
 
 
 	if (sendbar)
 	if (sendbar)
-		tx_status.flags = ATH_TX_BAR;
+		tx_flags = ATH_TX_BAR;
 
 
 	if (!txok) {
 	if (!txok) {
-		tx_status.flags |= ATH_TX_ERROR;
+		tx_flags |= ATH_TX_ERROR;
 
 
 		if (bf_isxretried(bf))
 		if (bf_isxretried(bf))
-			tx_status.flags |= ATH_TX_XRETRY;
+			tx_flags |= ATH_TX_XRETRY;
 	}
 	}
 
 
 	dma_unmap_single(sc->dev, bf->bf_dmacontext, skb->len, DMA_TO_DEVICE);
 	dma_unmap_single(sc->dev, bf->bf_dmacontext, skb->len, DMA_TO_DEVICE);
-	ath_tx_complete(sc, skb, &tx_status);
+	ath_tx_complete(sc, skb, tx_flags);
 
 
 	/*
 	/*
 	 * Return the list of ath_buf of this mpdu to free queue
 	 * Return the list of ath_buf of this mpdu to free queue