linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mwifiex: add tdls uapsd support module parameter
@ 2017-07-19  6:36 Xinming Hu
  2017-07-19 20:09 ` Brian Norris
  0 siblings, 1 reply; 6+ messages in thread
From: Xinming Hu @ 2017-07-19  6:36 UTC (permalink / raw)
  To: Linux Wireless
  Cc: Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Zhiyuan Yang,
	Tim Song, Cathy Luo, Xinming Hu

From: Xinming Hu <huxm@marvell.com>

Add module parameter to control tdls uapsd support, which is
default disabled.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
---
 drivers/net/wireless/marvell/mwifiex/init.c    | 5 +++++
 drivers/net/wireless/marvell/mwifiex/main.h    | 1 +
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c | 8 +++++---
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c
index 3ecb59f..2cc8e54 100644
--- a/drivers/net/wireless/marvell/mwifiex/init.c
+++ b/drivers/net/wireless/marvell/mwifiex/init.c
@@ -25,6 +25,10 @@
 #include "wmm.h"
 #include "11n.h"
 
+static bool tdls_uapsd;
+module_param(tdls_uapsd, bool, 0000);
+MODULE_PARM_DESC(tdls_uapsd, "tdls uapsd support enable:1, disable:0");
+
 /*
  * This function adds a BSS priority table to the table list.
  *
@@ -154,6 +158,7 @@ int mwifiex_init_priv(struct mwifiex_private *priv)
 	priv->del_list_idx = 0;
 	priv->hs2_enabled = false;
 	priv->check_tdls_tx = false;
+	priv->tdls_uapsd_support = tdls_uapsd;
 	memcpy(priv->tos_to_tid_inv, tos_to_tid_inv, MAX_NUM_TID);
 
 	mwifiex_init_11h_params(priv);
diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h
index f8cf307..ef5eac72 100644
--- a/drivers/net/wireless/marvell/mwifiex/main.h
+++ b/drivers/net/wireless/marvell/mwifiex/main.h
@@ -660,6 +660,7 @@ struct mwifiex_private {
 	u8 check_tdls_tx;
 	struct timer_list auto_tdls_timer;
 	bool auto_tdls_timer_active;
+	u8 tdls_uapsd_support;
 	struct idr ack_status_frames;
 	/* spin lock for ack status */
 	spinlock_t ack_status_lock;
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
index 534d94a..d5da565 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
@@ -1789,9 +1789,11 @@ static int mwifiex_cmd_chan_region_cfg(struct mwifiex_private *priv,
 		put_unaligned_le16(params->capability, pos);
 		config_len += sizeof(params->capability);
 
-		qos_info = params->uapsd_queues | (params->max_sp << 5);
-		wmm_qos_info = (struct mwifiex_ie_types_qos_info *)(pos +
-								    config_len);
+		if (priv->tdls_uapsd_support)
+			qos_info = params->uapsd_queues | (params->max_sp << 5);
+		else
+			qos_info = 0;
+		wmm_qos_info = (void *)(pos + config_len);
 		wmm_qos_info->header.type = cpu_to_le16(WLAN_EID_QOS_CAPA);
 		wmm_qos_info->header.len = cpu_to_le16(sizeof(qos_info));
 		wmm_qos_info->qos_info = qos_info;
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-07-21 10:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-19  6:36 [PATCH] mwifiex: add tdls uapsd support module parameter Xinming Hu
2017-07-19 20:09 ` Brian Norris
2017-07-20 10:54   ` Xinming Hu
2017-07-20 17:16     ` Brian Norris
2017-07-20 17:28       ` Dmitry Torokhov
2017-07-21 10:00         ` Xinming Hu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).