mwl8k: force AP mode to use non-AMPDU frames
authorNishant Sarmukadam <nishants@marvell.com>
Tue, 2 Nov 2010 00:55:48 +0000 (17:55 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 15 Nov 2010 18:25:36 +0000 (13:25 -0500)
AP firmware uses xmitcontrol to differentiate between AMPDU
and non-AMPDU frames. As the support for AMPDU is not yet
added, set xmitcontrol to non-AMPDU for all tx frames for AP
firmware. This field will be set to indicate ampdu/non-ampdu
frames when tx AMPDU support is added.

Signed-off-by: Pradeep Nemavat <pnemavat@marvell.com>
Signed-off-by: Brian Cavagnolo <brian@cozybit.com>
Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/mwl8k.c

index f152a25be59f7020998d35ceb72ba55100ebff2b..1bbcd7c1d02ab5d704bccdef122ac4ab3d1f5a69 100644 (file)
@@ -1125,10 +1125,12 @@ struct mwl8k_tx_desc {
        __le32 reserved;
        __le16 rate_info;
        __u8 peer_id;
-       __u8 tx_frag_cnt;
+       __u8 xmitcontrol;
 } __packed;
 
 #define MWL8K_TX_DESCS         128
+#define MWL8K_XMITCONTROL_NON_AMPDU    0x04
+
 
 static int mwl8k_txq_init(struct ieee80211_hw *hw, int index)
 {
@@ -1448,6 +1450,9 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw, int index, struct sk_buff *skb)
                tx->peer_id = MWL8K_STA(tx_info->control.sta)->peer_id;
        else
                tx->peer_id = 0;
+
+       if (priv->ap_fw)
+               tx->xmitcontrol = MWL8K_XMITCONTROL_NON_AMPDU;
        wmb();
        tx->status = cpu_to_le32(MWL8K_TXD_STATUS_FW_OWNED | txstatus);