mwl8k: set ack policy to normal
authorYogesh Ashok Powar <yogeshp@marvell.com>
Thu, 3 Jan 2013 07:51:25 +0000 (13:21 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 7 Jan 2013 20:17:00 +0000 (15:17 -0500)
Set ACK policy to NORMAL when its not going to
be an AMPDU packet.

Signed-off-by: Yogesh Ashok Powar <yogeshp@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c

index a13f690f1851b2c14221bdff1de17a45485b4ed5..7df18faae1b611bbb27aa9b8f7522b34912fe9eb 100644 (file)
@@ -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,