summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnjaneeDevi Kapparapu <akappa@codeaurora.org>2016-01-22 15:21:07 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-01-25 15:08:51 +0530
commit2af94056e3dfe422cb2cb53b1e0031349a70da77 (patch)
tree5df77719815240718719ae860b0754c04cbfaf4c
parent89682120e590c1021219ae5856a0527e9e69e3bb (diff)
qcacld-2.0: Merge ext cap from supplicant if bssTransition bit is set
prima to qcacld-2.0 propagation Ext cap from supplicant is taken in consideration while sending assoc request only if internetworking bit is set and thus if the internetworking bit is not set in the ext cap from supplicant it is not merged with ext cap of the assoc req. Thus bssTransition bit info in ext cap provided by supplicant is not taken in consideration if internetworking bit is not set. To fix this merge the ext cap from supplicant if internetworking or bssTransition bits are set. Change-Id: I81d5d8c417dd7adc75b9864b625a00d53657df6c CRs-Fixed: 964383
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg80211.c13
-rw-r--r--CORE/MAC/src/pe/lim/limSendManagementFrames.c12
2 files changed, 14 insertions, 11 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 1ab29171dd49..b0e019996f57 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -17177,14 +17177,15 @@ int wlan_hdd_cfg80211_set_ie(hdd_adapter_t *pAdapter,
pWextState->roamProfile.pRSNReqIE = pWextState->WPARSNIE;
pWextState->roamProfile.nRSNReqIELength = eLen + 2; //ie_len;
break;
- /* Appending Extended Capabilities with Interworking bit set
- * in Assoc Req.
+ /* Appending Extended Capabilities with Interworking or
+ * bsstransition bit set in Assoc Req.
*
* In assoc req this EXT Cap will only be taken into account if
- * interworkingService bit is set to 1. Currently
- * driver is only interested in interworkingService capability
- * from supplicant. If in future any other EXT Cap info is
- * required from supplicat, it needs to be handled while
+ * interworkingService or bsstransition bit is set to 1.
+ * Currently driver is only interested in interworkingService
+ * and bsstransition capability from supplicant.
+ * If in future any other EXT Cap info is
+ * required from supplicant, it needs to be handled while
* sending Assoc Req in LIM.
*/
case DOT11F_EID_EXTCAP:
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index bd5277f33e49..0050c7963139 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -2064,14 +2064,16 @@ limSendAssocReqMgmtFrame(tpAniSirGlobal pMac,
{
struct s_ext_cap *p_ext_cap = (struct s_ext_cap *)
extractedExtCap.bytes;
- if (p_ext_cap->interworkingService)
+ if (p_ext_cap->interworkingService ||
+ p_ext_cap->bssTransition)
p_ext_cap->qosMap = 1;
else {
/* No need to merge the EXT Cap from Supplicant
- * if interworkingService is not set, as currently
- * driver is only interested in interworkingService
- * capability from supplicant. if in
- * future any other EXT Cap info is required from
+ * if interworkingService or bsstransition is not set,
+ * as currently driver is only interested in
+ * interworkingService and bsstransition capability from
+ * supplicant.
+ * if in future any other EXT Cap info is required from
* supplicant it needs to be handled here.
*/
extractedExtCapFlag = eANI_BOOLEAN_FALSE;