|
@@ -14081,6 +14081,23 @@ static QDF_STATUS csr_set_ldpc_exception(tpAniSirGlobal mac_ctx,
|
|
|
}
|
|
|
|
|
|
#ifdef WLAN_FEATURE_11W
|
|
|
+/**
|
|
|
+ * csr_is_mfpc_capable() - is MFPC capable
|
|
|
+ * @ies: AP information element
|
|
|
+ *
|
|
|
+ * Return: true if MFPC capable, false otherwise
|
|
|
+ */
|
|
|
+bool csr_is_mfpc_capable(struct sDot11fIERSN *rsn)
|
|
|
+{
|
|
|
+ bool mfpc_capable = false;
|
|
|
+
|
|
|
+ if (rsn && rsn->present &&
|
|
|
+ ((rsn->RSN_Cap[0] >> 7) & 0x01))
|
|
|
+ mfpc_capable = true;
|
|
|
+
|
|
|
+ return mfpc_capable;
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* csr_set_mgmt_enc_type() - set mgmt enc type for PMF
|
|
|
* @profile: roam profile
|
|
@@ -14098,8 +14115,7 @@ static void csr_set_mgmt_enc_type(tCsrRoamProfile *profile,
|
|
|
csr_join_req->MgmtEncryptionType = eSIR_ED_NONE;
|
|
|
if (profile->MFPEnabled &&
|
|
|
!(profile->MFPRequired) &&
|
|
|
- ((ies->RSN.present) &&
|
|
|
- (!(ies->RSN.RSN_Cap[0] >> 7) & 0x1)))
|
|
|
+ !csr_is_mfpc_capable(&ies->RSN))
|
|
|
csr_join_req->MgmtEncryptionType = eSIR_ED_NONE;
|
|
|
}
|
|
|
#else
|