ath9k: Nuke struct ath_xmit_status
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8a92e2ee02
commit
6b2c40326f
2 changed files with 8 additions and 21 deletions
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue