aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorNishant Sarmukadam <nishants@marvell.com>2010-11-01 20:55:48 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-11-15 13:25:36 -0500
commitc0bf9ca98e07ca72c444a6cfb272aafa9890b9b6 (patch)
tree242fc11c9d8935757f85dd444c085e136f3aa452 /drivers
parent3eedb6f436858f3e864139dc184adc9a51440c92 (diff)
mwl8k: force AP mode to use non-AMPDU frames
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/mwl8k.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwl8k.c b/drivers/net/wireless/mwl8k.c
index f152a25be59f..1bbcd7c1d02a 100644
--- a/drivers/net/wireless/mwl8k.c
+++ b/drivers/net/wireless/mwl8k.c
@@ -1125,10 +1125,12 @@ struct mwl8k_tx_desc {
1125 __le32 reserved; 1125 __le32 reserved;
1126 __le16 rate_info; 1126 __le16 rate_info;
1127 __u8 peer_id; 1127 __u8 peer_id;
1128 __u8 tx_frag_cnt; 1128 __u8 xmitcontrol;
1129} __packed; 1129} __packed;
1130 1130
1131#define MWL8K_TX_DESCS 128 1131#define MWL8K_TX_DESCS 128
1132#define MWL8K_XMITCONTROL_NON_AMPDU 0x04
1133
1132 1134
1133static int mwl8k_txq_init(struct ieee80211_hw *hw, int index) 1135static int mwl8k_txq_init(struct ieee80211_hw *hw, int index)
1134{ 1136{
@@ -1448,6 +1450,9 @@ mwl8k_txq_xmit(struct ieee80211_hw *hw, int index, struct sk_buff *skb)
1448 tx->peer_id = MWL8K_STA(tx_info->control.sta)->peer_id; 1450 tx->peer_id = MWL8K_STA(tx_info->control.sta)->peer_id;
1449 else 1451 else
1450 tx->peer_id = 0; 1452 tx->peer_id = 0;
1453
1454 if (priv->ap_fw)
1455 tx->xmitcontrol = MWL8K_XMITCONTROL_NON_AMPDU;
1451 wmb(); 1456 wmb();
1452 tx->status = cpu_to_le32(MWL8K_TXD_STATUS_FW_OWNED | txstatus); 1457 tx->status = cpu_to_le32(MWL8K_TXD_STATUS_FW_OWNED | txstatus);
1453 1458