qcacmn: Add support for WPA3 SuiteB roaming

This commit enables support for SuiteB roaming wmi service based
on the WPA3 SuiteB roam service capability advertisement
received from Firmware.
In SuiteB the PMK length is greater than the existing PMK length,
added the extended PMK parameters to fill in the remaining bytes
of PMK in the RSO command.

Change-Id: Ia630580bba050513800e3acac875baf937ec8d14
CRs-Fixed: 2685993
Bu işleme şunda yer alıyor:
Srikanth Marepalli
2020-05-19 00:52:33 +05:30
işlemeyi yapan: nshrivas
ebeveyn b57a6d5bd6
işleme 8a8ee00543
3 değiştirilmiş dosya ile 17 ekleme ve 5 silme

Dosyayı Görüntüle

@@ -5224,6 +5224,7 @@ typedef enum {
wmi_service_ema_ap_support,
wmi_support_extend_address,
wmi_service_srg_srp_spatial_reuse_support,
wmi_service_suiteb_roam_support,
wmi_services_max,
} wmi_conv_service_ids;
#define WMI_SERVICE_UNAVAILABLE 0xFFFF

Dosyayı Görüntüle

@@ -1376,6 +1376,18 @@ send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
roam_req->psk_pmk,
roam_offload_11i->pmk_len);
if (auth_mode ==
WMI_AUTH_RSNA_SUITE_B_8021X_SHA384) {
roam_offload_11i->pmk_ext_len =
(roam_req->pmk_len -
ROAM_OFFLOAD_PMK_BYTES);
qdf_mem_copy(roam_offload_11i->pmk_ext,
&roam_req->psk_pmk[
ROAM_OFFLOAD_PMK_BYTES],
roam_offload_11i->
pmk_ext_len);
}
WMITLV_SET_HDR(&roam_offload_11i->tlv_header,
WMITLV_TAG_STRUC_wmi_roam_11i_offload_tlv_param,
WMITLV_GET_STRUCT_TLVLEN
@@ -1390,11 +1402,8 @@ send_roam_scan_offload_mode_cmd_tlv(wmi_unified_t wmi_handle,
buf_ptr += WMI_TLV_HDR_SIZE;
WMI_LOGD("pmk_len = %d",
roam_offload_11i->pmk_len);
if (roam_offload_11i->pmk_len)
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_WMI,
QDF_TRACE_LEVEL_DEBUG,
roam_offload_11i->pmk,
roam_offload_11i->pmk_len);
WMI_LOGD("pmk_ext_len = %d",
roam_offload_11i->pmk_ext_len);
}
} else {
WMITLV_SET_HDR(buf_ptr, WMITLV_TAG_ARRAY_STRUC,

Dosyayı Görüntüle

@@ -15041,6 +15041,8 @@ static void populate_tlv_service(uint32_t *wmi_service)
WMI_SERVICE_SUPPORT_EXTEND_ADDRESS;
wmi_service[wmi_service_srg_srp_spatial_reuse_support] =
WMI_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT;
wmi_service[wmi_service_suiteb_roam_support] =
WMI_SERVICE_WPA3_SUITEB_ROAM_SUPPORT;
}
/**