wlan: Adding HS2.0 IEs in the Re-Assoc Requset
DUT fails to send re-assoc
Change-Id: Ibf293d952875bf91b09b9838eb4b076a1e333221
CR-Fixed: 407823
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index e8bb5f5..2d4fdfa 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -259,6 +259,9 @@
#define WLAN_PRIV_SET_MCBC_FILTER (SIOCIWFIRSTPRIV + 26)
#define WLAN_PRIV_CLEAR_MCBC_FILTER (SIOCIWFIRSTPRIV + 27)
+/* Private ioctl to trigger reassociation */
+#define WLAN_SET_REASSOC_TRIGGER (SIOCIWFIRSTPRIV + 28)
+
#define WLAN_SET_POWER_PARAMS (SIOCIWFIRSTPRIV + 29)
#define WLAN_GET_LINK_SPEED (SIOCIWFIRSTPRIV + 31)
@@ -2145,6 +2148,28 @@
return 0;
}
+/*
+ * Support for the reassoc trigger private command
+ */
+static int iw_set_reassoc_trigger(struct net_device *dev,
+ struct iw_request_info *info,
+ union iwreq_data *wrqu, char *extra)
+{
+ hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
+ tpAniSirGlobal pMac = WLAN_HDD_GET_HAL_CTX(pAdapter);
+ v_U32_t roamId = 0;
+ tCsrRoamModifyProfileFields modProfileFields;
+ tCsrRoamSession *pSession = CSR_GET_SESSION( pMac, pAdapter->sessionId );
+ /* to force the AP initiate fresh 802.1x authentication need to clear
+ * the PMKID cache for that set the following boolean. this is needed
+ * by the HS 2.0 passpoint certification 5.2.a and b testcases */
+ pSession->fIgnorePMKIDCache = TRUE;
+ sme_GetModifyProfileFields(pMac, pAdapter->sessionId, &modProfileFields);
+ sme_RoamReassoc(pMac, pAdapter->sessionId, NULL, modProfileFields, &roamId, 1);
+ return 0;
+
+}
+
/*
* Support for the RSSI & RSSI-APPROX private commands
@@ -5893,7 +5918,8 @@
[WLAN_PRIV_SET_MCBC_FILTER - SIOCIWFIRSTPRIV] = iw_set_dynamic_mcbc_filter,
[WLAN_PRIV_CLEAR_MCBC_FILTER - SIOCIWFIRSTPRIV] = iw_clear_dynamic_mcbc_filter,
[WLAN_SET_POWER_PARAMS - SIOCIWFIRSTPRIV] = iw_set_power_params_priv,
- [WLAN_GET_LINK_SPEED - SIOCIWFIRSTPRIV] = iw_get_linkspeed
+ [WLAN_GET_LINK_SPEED - SIOCIWFIRSTPRIV] = iw_get_linkspeed,
+ [WLAN_SET_REASSOC_TRIGGER - SIOCIWFIRSTPRIV] = iw_set_reassoc_trigger
};
/*Maximum command length can be only 15 */
@@ -6277,6 +6303,11 @@
WLAN_GET_LINK_SPEED,
IW_PRIV_TYPE_CHAR | 18,
IW_PRIV_TYPE_CHAR | 3, "getLinkSpeed" },
+ {
+ WLAN_SET_REASSOC_TRIGGER,
+ 0,
+ 0,
+ "reassoc" },
};