2015-04-13 10:32:45

by Avinash Patil

[permalink] [raw]
Subject: [PATCH 1/2] revert "mwifiex: enable aggregation for TID 6 and 7 streams"

This patch reverts 'commit c5534844cdee ("mwifiex:
enable aggregation for TID 6 and 7 streams")'.
TID6 & TID7 is voice traffic which is quite time sensitive.
Do not enable any type of aggregation on these TIDs.

Signed-off-by: Avinash Patil <[email protected]>
Signed-off-by: Cathy Luo <[email protected]>
---
drivers/net/wireless/mwifiex/wmm.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/mwifiex/wmm.c b/drivers/net/wireless/mwifiex/wmm.c
index b2e9956..8be9d13 100644
--- a/drivers/net/wireless/mwifiex/wmm.c
+++ b/drivers/net/wireless/mwifiex/wmm.c
@@ -428,6 +428,15 @@ mwifiex_wmm_init(struct mwifiex_adapter *adapter)
priv->tos_to_tid_inv[i];
}

+ priv->aggr_prio_tbl[6].amsdu
+ = priv->aggr_prio_tbl[6].ampdu_ap
+ = priv->aggr_prio_tbl[6].ampdu_user
+ = BA_STREAM_NOT_ALLOWED;
+
+ priv->aggr_prio_tbl[7].amsdu = priv->aggr_prio_tbl[7].ampdu_ap
+ = priv->aggr_prio_tbl[7].ampdu_user
+ = BA_STREAM_NOT_ALLOWED;
+
mwifiex_set_ba_params(priv);
mwifiex_reset_11n_rx_seq_num(priv);

--
1.8.1.4



2015-04-13 10:32:43

by Avinash Patil

[permalink] [raw]
Subject: [PATCH 2/2] mwifiex: fix invalid HT IE configuration in FW

From: Zhaoyang Liu <[email protected]>

This patch fixes an issue where it was discovered that driver is setting
invalid HT IEs to FW. This was happening because bug in parsing HT IE.
Driver would incorrectly point to start of HT IE while FW only needs actual
HT configuration - excluding EID and length.

Signed-off-by: Zhaoyang Liu <[email protected]>
Signed-off-by: Avinash Patil <[email protected]>
---
drivers/net/wireless/mwifiex/uap_cmd.c | 2 +-
drivers/net/wireless/mwifiex/util.c | 7 +++++--
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/mwifiex/uap_cmd.c b/drivers/net/wireless/mwifiex/uap_cmd.c
index f5c2af0..3d02811 100644
--- a/drivers/net/wireless/mwifiex/uap_cmd.c
+++ b/drivers/net/wireless/mwifiex/uap_cmd.c
@@ -167,7 +167,7 @@ mwifiex_set_ht_params(struct mwifiex_private *priv,
ht_ie = cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, params->beacon.tail,
params->beacon.tail_len);
if (ht_ie) {
- memcpy(&bss_cfg->ht_cap, ht_ie,
+ memcpy(&bss_cfg->ht_cap, ht_ie + 2,
sizeof(struct ieee80211_ht_cap));
cap_info = le16_to_cpu(bss_cfg->ht_cap.cap_info);
memset(&bss_cfg->ht_cap.mcs, 0,
diff --git a/drivers/net/wireless/mwifiex/util.c b/drivers/net/wireless/mwifiex/util.c
index b8a4587..9482d95 100644
--- a/drivers/net/wireless/mwifiex/util.c
+++ b/drivers/net/wireless/mwifiex/util.c
@@ -536,13 +536,16 @@ void
mwifiex_set_sta_ht_cap(struct mwifiex_private *priv, const u8 *ies,
int ies_len, struct mwifiex_sta_node *node)
{
+ struct ieee_types_header *ht_cap_ie;
const struct ieee80211_ht_cap *ht_cap;

if (!ies)
return;

- ht_cap = (void *)cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, ies, ies_len);
- if (ht_cap) {
+ ht_cap_ie = (void *)cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, ies,
+ ies_len);
+ if (ht_cap_ie) {
+ ht_cap = (void *)(ht_cap_ie + 1);
node->is_11n_enabled = 1;
node->max_amsdu = le16_to_cpu(ht_cap->cap_info) &
IEEE80211_HT_CAP_MAX_AMSDU ?
--
1.8.1.4


2015-05-09 13:25:54

by Kalle Valo

[permalink] [raw]
Subject: Re: [1/2] revert "mwifiex: enable aggregation for TID 6 and 7 streams"


> This patch reverts 'commit c5534844cdee ("mwifiex:
> enable aggregation for TID 6 and 7 streams")'.
> TID6 & TID7 is voice traffic which is quite time sensitive.
> Do not enable any type of aggregation on these TIDs.
>
> Signed-off-by: Avinash Patil <[email protected]>
> Signed-off-by: Cathy Luo <[email protected]>

Thanks, 2 patches applied to wireless-drivers-next.git:

31a09a5d3478 revert "mwifiex: enable aggregation for TID 6 and 7 streams"
9ab7b5b9b160 mwifiex: fix invalid HT IE configuration in FW

Kalle Valo