linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] mwifiex: add tdls uapsd support module parameter
@ 2017-07-20 11:05 Xinming Hu
  2017-07-21 10:01 ` Xinming Hu
  0 siblings, 1 reply; 2+ messages in thread
From: Xinming Hu @ 2017-07-20 11:05 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>

An issue about tdls uapsd was fixed in latest firmware, this
patch add module parameter to control tdls uapsd support,
which is default disabled, could be a workaround to the
old firmware. At the same time, it is optional to enable
this feature in specific case.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
---
v2: add more comments for disable tdls_uapsd. (Brian)
---
 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] 2+ messages in thread

* Re: [PATCH v2] mwifiex: add tdls uapsd support module parameter
  2017-07-20 11:05 [PATCH v2] mwifiex: add tdls uapsd support module parameter Xinming Hu
@ 2017-07-21 10:01 ` Xinming Hu
  0 siblings, 0 replies; 2+ messages in thread
From: Xinming Hu @ 2017-07-21 10:01 UTC (permalink / raw)
  To: Xinming Hu, Linux Wireless
  Cc: Kalle Valo, Brian Norris, Dmitry Torokhov, rajatja, Zhiyuan Yang,
	Tim Song, Cathy Luo

SGksDQoNClBsZWFzZSBkcm9wIHRoaXMgcGF0Y2gsIGFzIHRoZXJlIGlzIGEgcmVwbGFjZSB2ZXJz
aW9uIGFscmVhZHkuDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBY
aW5taW5nIEh1IFttYWlsdG86aHV4aW5taW5nODIwQGdtYWlsLmNvbV0NCj4gU2VudDogMjAxN8Tq
N9TCMjDI1SAxOTowNg0KPiBUbzogTGludXggV2lyZWxlc3MNCj4gQ2M6IEthbGxlIFZhbG87IEJy
aWFuIE5vcnJpczsgRG1pdHJ5IFRvcm9raG92OyByYWphdGphQGdvb2dsZS5jb207IFpoaXl1YW4N
Cj4gWWFuZzsgVGltIFNvbmc7IENhdGh5IEx1bzsgWGlubWluZyBIdQ0KPiBTdWJqZWN0OiBbUEFU
Q0ggdjJdIG13aWZpZXg6IGFkZCB0ZGxzIHVhcHNkIHN1cHBvcnQgbW9kdWxlIHBhcmFtZXRlcg0K
PiANCj4gRnJvbTogWGlubWluZyBIdSA8aHV4bUBtYXJ2ZWxsLmNvbT4NCj4gDQo+IEFuIGlzc3Vl
IGFib3V0IHRkbHMgdWFwc2Qgd2FzIGZpeGVkIGluIGxhdGVzdCBmaXJtd2FyZSwgdGhpcyBwYXRj
aCBhZGQgbW9kdWxlDQo+IHBhcmFtZXRlciB0byBjb250cm9sIHRkbHMgdWFwc2Qgc3VwcG9ydCwg
d2hpY2ggaXMgZGVmYXVsdCBkaXNhYmxlZCwgY291bGQgYmUgYQ0KPiB3b3JrYXJvdW5kIHRvIHRo
ZSBvbGQgZmlybXdhcmUuIEF0IHRoZSBzYW1lIHRpbWUsIGl0IGlzIG9wdGlvbmFsIHRvIGVuYWJs
ZSB0aGlzDQo+IGZlYXR1cmUgaW4gc3BlY2lmaWMgY2FzZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6
IFhpbm1pbmcgSHUgPGh1eG1AbWFydmVsbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IENhdGh5IEx1
byA8Y2x1b0BtYXJ2ZWxsLmNvbT4NCj4gLS0tDQo+IHYyOiBhZGQgbW9yZSBjb21tZW50cyBmb3Ig
ZGlzYWJsZSB0ZGxzX3VhcHNkLiAoQnJpYW4pDQo+IC0tLQ0KPiAgZHJpdmVycy9uZXQvd2lyZWxl
c3MvbWFydmVsbC9td2lmaWV4L2luaXQuYyAgICB8IDUgKysrKysNCj4gIGRyaXZlcnMvbmV0L3dp
cmVsZXNzL21hcnZlbGwvbXdpZmlleC9tYWluLmggICAgfCAxICsNCj4gIGRyaXZlcnMvbmV0L3dp
cmVsZXNzL21hcnZlbGwvbXdpZmlleC9zdGFfY21kLmMgfCA4ICsrKysrLS0tDQo+ICAzIGZpbGVz
IGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t
Z2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lmaWV4L2luaXQuYw0KPiBiL2Ry
aXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9pbml0LmMNCj4gaW5kZXggM2VjYjU5
Zi4uMmNjOGU1NCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9t
d2lmaWV4L2luaXQuYw0KPiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZp
ZXgvaW5pdC5jDQo+IEBAIC0yNSw2ICsyNSwxMCBAQA0KPiAgI2luY2x1ZGUgIndtbS5oIg0KPiAg
I2luY2x1ZGUgIjExbi5oIg0KPiANCj4gK3N0YXRpYyBib29sIHRkbHNfdWFwc2Q7DQo+ICttb2R1
bGVfcGFyYW0odGRsc191YXBzZCwgYm9vbCwgMDAwMCk7DQo+ICtNT0RVTEVfUEFSTV9ERVNDKHRk
bHNfdWFwc2QsICJ0ZGxzIHVhcHNkIHN1cHBvcnQgZW5hYmxlOjEsIGRpc2FibGU6MCIpOw0KPiAr
DQo+ICAvKg0KPiAgICogVGhpcyBmdW5jdGlvbiBhZGRzIGEgQlNTIHByaW9yaXR5IHRhYmxlIHRv
IHRoZSB0YWJsZSBsaXN0Lg0KPiAgICoNCj4gQEAgLTE1NCw2ICsxNTgsNyBAQCBpbnQgbXdpZmll
eF9pbml0X3ByaXYoc3RydWN0IG13aWZpZXhfcHJpdmF0ZSAqcHJpdikNCj4gIAlwcml2LT5kZWxf
bGlzdF9pZHggPSAwOw0KPiAgCXByaXYtPmhzMl9lbmFibGVkID0gZmFsc2U7DQo+ICAJcHJpdi0+
Y2hlY2tfdGRsc190eCA9IGZhbHNlOw0KPiArCXByaXYtPnRkbHNfdWFwc2Rfc3VwcG9ydCA9IHRk
bHNfdWFwc2Q7DQo+ICAJbWVtY3B5KHByaXYtPnRvc190b190aWRfaW52LCB0b3NfdG9fdGlkX2lu
diwgTUFYX05VTV9USUQpOw0KPiANCj4gIAltd2lmaWV4X2luaXRfMTFoX3BhcmFtcyhwcml2KTsN
Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9tYWlu
LmgNCj4gYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvbWFpbi5oDQo+IGlu
ZGV4IGY4Y2YzMDcuLmVmNWVhYzcyIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL25ldC93aXJlbGVz
cy9tYXJ2ZWxsL213aWZpZXgvbWFpbi5oDQo+ICsrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21h
cnZlbGwvbXdpZmlleC9tYWluLmgNCj4gQEAgLTY2MCw2ICs2NjAsNyBAQCBzdHJ1Y3QgbXdpZmll
eF9wcml2YXRlIHsNCj4gIAl1OCBjaGVja190ZGxzX3R4Ow0KPiAgCXN0cnVjdCB0aW1lcl9saXN0
IGF1dG9fdGRsc190aW1lcjsNCj4gIAlib29sIGF1dG9fdGRsc190aW1lcl9hY3RpdmU7DQo+ICsJ
dTggdGRsc191YXBzZF9zdXBwb3J0Ow0KPiAgCXN0cnVjdCBpZHIgYWNrX3N0YXR1c19mcmFtZXM7
DQo+ICAJLyogc3BpbiBsb2NrIGZvciBhY2sgc3RhdHVzICovDQo+ICAJc3BpbmxvY2tfdCBhY2tf
c3RhdHVzX2xvY2s7DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxs
L213aWZpZXgvc3RhX2NtZC5jDQo+IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWFydmVsbC9td2lm
aWV4L3N0YV9jbWQuYw0KPiBpbmRleCA1MzRkOTRhLi5kNWRhNTY1IDEwMDY0NA0KPiAtLS0gYS9k
cml2ZXJzL25ldC93aXJlbGVzcy9tYXJ2ZWxsL213aWZpZXgvc3RhX2NtZC5jDQo+ICsrKyBiL2Ry
aXZlcnMvbmV0L3dpcmVsZXNzL21hcnZlbGwvbXdpZmlleC9zdGFfY21kLmMNCj4gQEAgLTE3ODks
OSArMTc4OSwxMSBAQCBzdGF0aWMgaW50IG13aWZpZXhfY21kX2NoYW5fcmVnaW9uX2NmZyhzdHJ1
Y3QNCj4gbXdpZmlleF9wcml2YXRlICpwcml2LA0KPiAgCQlwdXRfdW5hbGlnbmVkX2xlMTYocGFy
YW1zLT5jYXBhYmlsaXR5LCBwb3MpOw0KPiAgCQljb25maWdfbGVuICs9IHNpemVvZihwYXJhbXMt
PmNhcGFiaWxpdHkpOw0KPiANCj4gLQkJcW9zX2luZm8gPSBwYXJhbXMtPnVhcHNkX3F1ZXVlcyB8
IChwYXJhbXMtPm1heF9zcCA8PCA1KTsNCj4gLQkJd21tX3Fvc19pbmZvID0gKHN0cnVjdCBtd2lm
aWV4X2llX3R5cGVzX3Fvc19pbmZvICopKHBvcyArDQo+IC0JCQkJCQkJCSAgICBjb25maWdfbGVu
KTsNCj4gKwkJaWYgKHByaXYtPnRkbHNfdWFwc2Rfc3VwcG9ydCkNCj4gKwkJCXFvc19pbmZvID0g
cGFyYW1zLT51YXBzZF9xdWV1ZXMgfCAocGFyYW1zLT5tYXhfc3AgPDwgNSk7DQo+ICsJCWVsc2UN
Cj4gKwkJCXFvc19pbmZvID0gMDsNCj4gKwkJd21tX3Fvc19pbmZvID0gKHZvaWQgKikocG9zICsg
Y29uZmlnX2xlbik7DQo+ICAJCXdtbV9xb3NfaW5mby0+aGVhZGVyLnR5cGUgPSBjcHVfdG9fbGUx
NihXTEFOX0VJRF9RT1NfQ0FQQSk7DQo+ICAJCXdtbV9xb3NfaW5mby0+aGVhZGVyLmxlbiA9IGNw
dV90b19sZTE2KHNpemVvZihxb3NfaW5mbykpOw0KPiAgCQl3bW1fcW9zX2luZm8tPnFvc19pbmZv
ID0gcW9zX2luZm87DQo+IC0tDQo+IDEuOS4xDQoNCg==

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

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

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-20 11:05 [PATCH v2] mwifiex: add tdls uapsd support module parameter Xinming Hu
2017-07-21 10:01 ` 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).