2013-01-03 07:57:32

by Yogesh Ashok Powar

[permalink] [raw]
Subject: [PATCH] mwl8k: set ack policy to normal

Set ACK policy to NORMAL when its not going to
be an AMPDU packet.

Signed-off-by: Yogesh Ashok Powar <[email protected]>
---
drivers/net/wireless/mwl8k.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index 93dd0ef..c9c9c99 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -1926,6 +1926,7 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw,
stream = mwl8k_lookup_stream(hw, sta->addr, tid);
if (stream != NULL) {
if (stream->state == AMPDU_STREAM_ACTIVE) {
+ WARN_ON(!(qos & MWL8K_QOS_ACK_POLICY_BLOCKACK));
txpriority = stream->idx + MWL8K_TX_WMM_QUEUES;
index = stream->idx + MWL8K_TX_WMM_QUEUES;
} else if (stream->state == AMPDU_STREAM_NEW) {
@@ -1969,6 +1970,9 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw,
}
}
spin_unlock(&priv->stream_lock);
+ } else {
+ qos &= ~MWL8K_QOS_ACK_POLICY_MASK;
+ qos |= MWL8K_QOS_ACK_POLICY_NORMAL;
}

dma = pci_map_single(priv->pdev, skb->data,
--
1.8.0.3