Skip to content

Commit

Permalink
ar9170: remove redundant frame flags
Browse files Browse the repository at this point in the history
The flags in question were once useful for debugging.
Time has passed and now they do nothing more than
duplicating txinfo->flags.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Christian Lamparter authored and John W. Linville committed Dec 21, 2009
1 parent 53a76b5 commit 15b098b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 38 deletions.
5 changes: 0 additions & 5 deletions drivers/net/wireless/ath/ar9170/ar9170.h
Original file line number Diff line number Diff line change
Expand Up @@ -248,13 +248,8 @@ struct ar9170_sta_info {
unsigned int ampdu_max_len;
};

#define AR9170_TX_FLAG_WAIT_FOR_ACK BIT(0)
#define AR9170_TX_FLAG_NO_ACK BIT(1)
#define AR9170_TX_FLAG_BLOCK_ACK BIT(2)

struct ar9170_tx_info {
unsigned long timeout;
unsigned int flags;
};

#define IS_STARTED(a) (((struct ar9170 *)a)->state >= AR9170_STARTED)
Expand Down
55 changes: 22 additions & 33 deletions drivers/net/wireless/ath/ar9170/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -213,10 +213,10 @@ static void ar9170_print_txheader(struct ar9170 *ar, struct sk_buff *skb)
struct ar9170_tx_info *arinfo = (void *) txinfo->rate_driver_data;
struct ieee80211_hdr *hdr = (void *) txc->frame_data;

printk(KERN_DEBUG "%s: => FRAME [skb:%p, q:%d, DA:[%pM] flags:%x s:%d "
printk(KERN_DEBUG "%s: => FRAME [skb:%p, q:%d, DA:[%pM] s:%d "
"mac_ctrl:%04x, phy_ctrl:%08x, timeout:[%d ms]]\n",
wiphy_name(ar->hw->wiphy), skb, skb_get_queue_mapping(skb),
ieee80211_get_DA(hdr), arinfo->flags, ar9170_get_seq_h(hdr),
ieee80211_get_DA(hdr), ar9170_get_seq_h(hdr),
le16_to_cpu(txc->mac_control), le32_to_cpu(txc->phy_control),
jiffies_to_msecs(arinfo->timeout - jiffies));
}
Expand Down Expand Up @@ -440,22 +440,17 @@ void ar9170_tx_callback(struct ar9170 *ar, struct sk_buff *skb)
}
spin_unlock_irqrestore(&ar->tx_stats_lock, flags);

if (arinfo->flags & AR9170_TX_FLAG_BLOCK_ACK) {
ar9170_tx_ampdu_callback(ar, skb);
} else if (arinfo->flags & AR9170_TX_FLAG_WAIT_FOR_ACK) {
arinfo->timeout = jiffies +
msecs_to_jiffies(AR9170_TX_TIMEOUT);

skb_queue_tail(&ar->tx_status[queue], skb);
} else if (arinfo->flags & AR9170_TX_FLAG_NO_ACK) {
if (info->flags & IEEE80211_TX_CTL_NO_ACK) {
ar9170_tx_status(ar, skb, AR9170_TX_STATUS_FAILED);
} else {
#ifdef AR9170_QUEUE_DEBUG
printk(KERN_DEBUG "%s: unsupported frame flags!\n",
wiphy_name(ar->hw->wiphy));
ar9170_print_txheader(ar, skb);
#endif /* AR9170_QUEUE_DEBUG */
dev_kfree_skb_any(skb);
if (info->flags & IEEE80211_TX_CTL_AMPDU) {
ar9170_tx_ampdu_callback(ar, skb);
} else {
arinfo->timeout = jiffies +
msecs_to_jiffies(AR9170_TX_TIMEOUT);

skb_queue_tail(&ar->tx_status[queue], skb);
}
}

if (!ar->tx_stats[queue].len &&
Expand Down Expand Up @@ -1407,17 +1402,6 @@ static int ar9170_tx_prepare(struct ar9170 *ar, struct sk_buff *skb)

if (!(info->flags & IEEE80211_TX_CTL_NO_ACK) &&
(is_valid_ether_addr(ieee80211_get_DA(hdr)))) {
if (info->flags & IEEE80211_TX_CTL_AMPDU) {
if (unlikely(!info->control.sta))
goto err_out;

txc->mac_control |= cpu_to_le16(AR9170_TX_MAC_AGGR);
arinfo->flags = AR9170_TX_FLAG_BLOCK_ACK;

goto out;
}

txc->mac_control |= cpu_to_le16(AR9170_TX_MAC_RATE_PROBE);
/*
* WARNING:
* Putting the QoS queue bits into an unexplored territory is
Expand All @@ -1431,12 +1415,17 @@ static int ar9170_tx_prepare(struct ar9170 *ar, struct sk_buff *skb)

txc->phy_control |=
cpu_to_le32(queue << AR9170_TX_PHY_QOS_SHIFT);
arinfo->flags = AR9170_TX_FLAG_WAIT_FOR_ACK;
} else {
arinfo->flags = AR9170_TX_FLAG_NO_ACK;

if (info->flags & IEEE80211_TX_CTL_AMPDU) {
if (unlikely(!info->control.sta))
goto err_out;

txc->mac_control |= cpu_to_le16(AR9170_TX_MAC_AGGR);
} else {
txc->mac_control |= cpu_to_le16(AR9170_TX_MAC_RATE_PROBE);
}
}

out:
return 0;

err_out:
Expand Down Expand Up @@ -1771,7 +1760,7 @@ static void ar9170_tx(struct ar9170 *ar)
arinfo->timeout = jiffies +
msecs_to_jiffies(AR9170_TX_TIMEOUT);

if (arinfo->flags == AR9170_TX_FLAG_BLOCK_ACK)
if (info->flags & IEEE80211_TX_CTL_AMPDU)
atomic_inc(&ar->tx_ampdu_pending);

#ifdef AR9170_QUEUE_DEBUG
Expand All @@ -1782,7 +1771,7 @@ static void ar9170_tx(struct ar9170 *ar)

err = ar->tx(ar, skb);
if (unlikely(err)) {
if (arinfo->flags == AR9170_TX_FLAG_BLOCK_ACK)
if (info->flags & IEEE80211_TX_CTL_AMPDU)
atomic_dec(&ar->tx_ampdu_pending);

frames_failed++;
Expand Down

0 comments on commit 15b098b

Please sign in to comment.