wlan: Always send assoc req/rsp
propagation from qcacld-3.0 to pronto
Currently driver sends rsn ie request and response as part
of connect results update. Instead, send assoc request and
assoc response always which will anyways have rsn ie request
and response. Supplicant needs assoc response to proceed
for OWE based connection
Change-Id: I7f022248a6ad2ad835826c94ccdfaccd5d6090bc
CRs-Fixed: 2531104
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index 26be742..4ddb100 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -2479,55 +2479,61 @@
}
return eHAL_STATUS_FAILURE;
}
+
+ //Association Response
+ pFTAssocRsp = (u8 *)(pRoamInfo->pbFrames +
+ pRoamInfo->nBeaconLength +
+ pRoamInfo->nAssocReqLength);
+ if (pFTAssocRsp != NULL)
+ {
+ // pFTAssocRsp needs to point to the IEs
+ pFTAssocRsp += FT_ASSOC_RSP_IES_OFFSET;
+ hddLog(LOG1, "%s: AssocRsp is now at %02x%02x", __func__,
+ (unsigned int)pFTAssocRsp[0],
+ (unsigned int)pFTAssocRsp[1]);
+ assocRsplen =
+ pRoamInfo->nAssocRspLength - FT_ASSOC_RSP_IES_OFFSET;
+ }
+ else
+ {
+ hddLog(LOGE, "%s:AssocRsp is NULL", __func__);
+ assocRsplen = 0;
+ }
+
+ //Association Request
+ pFTAssocReq = (u8 *)(pRoamInfo->pbFrames +
+ pRoamInfo->nBeaconLength);
+ if (pFTAssocReq != NULL)
+ {
+ if(!ft_carrier_on)
+ {
+ // pFTAssocReq needs to point to the IEs
+ pFTAssocReq += FT_ASSOC_REQ_IES_OFFSET;
+ hddLog(LOG1, "%s: pFTAssocReq is now at %02x%02x", __func__,
+ (unsigned int)pFTAssocReq[0],
+ (unsigned int)pFTAssocReq[1]);
+ assocReqlen =
+ pRoamInfo->nAssocReqLength - FT_ASSOC_REQ_IES_OFFSET;
+ }
+ else
+ {
+ /* This should contain only the FTIEs */
+ assocReqlen = pRoamInfo->nAssocReqLength;
+ }
+ }
+ else
+ {
+ hddLog(LOGE, "%s:AssocReq is NULL", __func__);
+ assocReqlen = 0;
+ }
+
+ hddLog(LOG1, "assocReqlen %d assocRsplen %d", assocReqlen,
+ assocRsplen);
+
#ifdef WLAN_FEATURE_VOWIFI_11R
if(pRoamInfo->u.pConnectedProfile->AuthType == eCSR_AUTH_TYPE_FT_RSN ||
pRoamInfo->u.pConnectedProfile->AuthType == eCSR_AUTH_TYPE_FT_RSN_PSK )
{
-
- //Association Response
- pFTAssocRsp = (u8 *)(pRoamInfo->pbFrames + pRoamInfo->nBeaconLength +
- pRoamInfo->nAssocReqLength);
- if (pFTAssocRsp != NULL)
- {
- // pFTAssocRsp needs to point to the IEs
- pFTAssocRsp += FT_ASSOC_RSP_IES_OFFSET;
- hddLog(LOG1, "%s: AssocRsp is now at %02x%02x", __func__,
- (unsigned int)pFTAssocRsp[0],
- (unsigned int)pFTAssocRsp[1]);
- assocRsplen = pRoamInfo->nAssocRspLength - FT_ASSOC_RSP_IES_OFFSET;
- }
- else
- {
- hddLog(LOGE, "%s:AssocRsp is NULL", __func__);
- assocRsplen = 0;
- }
-
- //Association Request
- pFTAssocReq = (u8 *)(pRoamInfo->pbFrames +
- pRoamInfo->nBeaconLength);
- if (pFTAssocReq != NULL)
- {
- if(!ft_carrier_on)
- {
- // pFTAssocReq needs to point to the IEs
- pFTAssocReq += FT_ASSOC_REQ_IES_OFFSET;
- hddLog(LOG1, "%s: pFTAssocReq is now at %02x%02x", __func__,
- (unsigned int)pFTAssocReq[0],
- (unsigned int)pFTAssocReq[1]);
- assocReqlen = pRoamInfo->nAssocReqLength - FT_ASSOC_REQ_IES_OFFSET;
- }
- else
- {
- /* This should contain only the FTIEs */
- assocReqlen = pRoamInfo->nAssocReqLength;
- }
- }
- else
- {
- hddLog(LOGE, "%s:AssocReq is NULL", __func__);
- assocReqlen = 0;
- }
-
if(ft_carrier_on)
{
if ( !hddDisconInProgress )
@@ -2538,8 +2544,6 @@
"indication", __FUNCTION__, ft_carrier_on);
chan = ieee80211_get_channel(pAdapter->wdev.wiphy,
(int)pRoamInfo->pBssDesc->channelId);
- hddLog(LOG1, "assocReqlen %d assocRsplen %d", assocReqlen,
- assocRsplen);
if (pHddCtx->cfg_ini &&
pHddCtx->cfg_ini->gEnableRoamDelayStats)
{
@@ -2618,8 +2622,8 @@
/* inform connect result to nl80211 */
hdd_connect_result(dev, pRoamInfo->bssid,
pRoamInfo,
- reqRsnIe, reqRsnLength,
- rspRsnIe, rspRsnLength,
+ pFTAssocReq, assocReqlen,
+ pFTAssocRsp, assocRsplen,
WLAN_STATUS_SUCCESS,
GFP_KERNEL);
}
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index 07a6af7..848bf42 100644
--- a/CORE/MAC/inc/qwlan_version.h
+++ b/CORE/MAC/inc/qwlan_version.h
@@ -46,6 +46,6 @@
#define QWLAN_VERSION_BUILD 85
-#define QWLAN_VERSIONSTR "3.0.11.85"
+#define QWLAN_VERSIONSTR "3.0.11.85.9"
#endif /* QWLAN_VERSION_H */