Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 136163
b: refs/heads/master
c: 6b2c403
h: refs/heads/master
i:
  136161: 960f84a
  136159: c8bb8b6
v: v3
  • Loading branch information
Vasanthakumar Thiagarajan authored and John W. Linville committed Mar 28, 2009
1 parent cb69667 commit c2f880f
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 22 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8a92e2ee02dee127d309c73969aeb2a56567c9a0
refs/heads/master: 6b2c40326f9569283444d483448bcaadeca903e9
4 changes: 0 additions & 4 deletions trunk/drivers/net/wireless/ath9k/ath9k.h
Original file line number Diff line number Diff line change
Expand Up @@ -295,13 +295,9 @@ struct ath_tx_control {
enum ath9k_internal_frame_type frame_type;
};

struct ath_xmit_status {
int retries;
int flags;
#define ATH_TX_ERROR 0x01
#define ATH_TX_XRETRY 0x02
#define ATH_TX_BAR 0x04
};

/* All RSSI values are noise floor adjusted */
struct ath_tx_stat {
Expand Down
25 changes: 8 additions & 17 deletions trunk/drivers/net/wireless/ath9k/xmit.c
Original file line number Diff line number Diff line change
Expand Up @@ -1750,7 +1750,7 @@ void ath_tx_cabq(struct ieee80211_hw *hw, 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_tx_info *tx_info = IEEE80211_SKB_CB(skb);
Expand All @@ -1771,12 +1771,10 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb,
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_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 */
tx_info->flags |= IEEE80211_TX_STAT_ACK;
}
Expand All @@ -1803,29 +1801,22 @@ static void ath_tx_complete_buf(struct ath_softc *sc, struct ath_buf *bf,
int txok, int sendbar)
{
struct sk_buff *skb = bf->bf_mpdu;
struct ath_xmit_status tx_status;
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)
tx_status.flags = ATH_TX_BAR;
tx_flags = ATH_TX_BAR;

if (!txok) {
tx_status.flags |= ATH_TX_ERROR;
tx_flags |= ATH_TX_ERROR;

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);
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
Expand Down

0 comments on commit c2f880f

Please sign in to comment.