qcacld-3.0: Check SAE & OWE target capability to enable RSO
Currently the host driver blocks roam scan offload command to the target if the connected akm is OWE or SAE. Add changes to read the WMI_SERVICE_WPA3_SAE_ROAM_SUPPORT and WMI_SERVICE_WPA3_OWE_ROAM_SUPPORT service capability advertised by the target and set it to the mlme fw_akm_bitmap. Read this bitmap in csr_roam_offload_scan() to allow RSO command. Also the connected akm is sent to the target via the WMI_AP_PROFILE command. Translate the CSR akm type for OWE and SAE akm also. Change-Id: I68527722ab099e0c8e1681ed64ea416b9a6e9936 CRs-Fixed: 2491021
This commit is contained in:

کامیت شده توسط
nshrivas

والد
4fb838c4e9
کامیت
ba42a982b3
@@ -2236,4 +2236,15 @@ wlan_mlme_get_4way_hs_offload(struct wlan_objmgr_psoc *psoc, bool *value);
|
||||
QDF_STATUS
|
||||
mlme_get_peer_phymode(struct wlan_objmgr_psoc *psoc, uint8_t *mac,
|
||||
enum wlan_phymode *peer_phymode);
|
||||
|
||||
/**
|
||||
* mlme_set_tgt_wpa3_roam_cap() - Set the target WPA3 roam support
|
||||
* to mlme
|
||||
* @psoc: pointer to PSOC object
|
||||
* @akm_bitmap: Bitmap of akm suites supported for roaming by the firmware
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS mlme_set_tgt_wpa3_roam_cap(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t akm_bitmap);
|
||||
#endif /* _WLAN_MLME_API_H_ */
|
||||
|
@@ -1315,12 +1315,13 @@ struct bss_load_trigger {
|
||||
};
|
||||
|
||||
/*
|
||||
* AKM suites supported by firmware for
|
||||
* roaming
|
||||
* AKM suites supported by firmware for roaming
|
||||
*/
|
||||
#define AKM_FT_SAE 0
|
||||
#define AKM_FT_SUITEB_SHA384 1
|
||||
#define AKM_FT_FILS 2
|
||||
#define AKM_SAE 3
|
||||
#define AKM_OWE 4
|
||||
|
||||
/*
|
||||
* @mawc_roam_enabled: Enable/Disable MAWC during roaming
|
||||
|
@@ -1043,18 +1043,6 @@ QDF_STATUS
|
||||
ucfg_mlme_get_first_scan_bucket_threshold(struct wlan_objmgr_psoc *psoc,
|
||||
uint8_t *val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_set_fw_supported_roaming_akm() - update the supported roaming
|
||||
* akm suites advertised by the firmware via wmi service capability
|
||||
* @psoc: pointer to psoc object
|
||||
* @val: bitmap value based on firmware capabilities
|
||||
*
|
||||
* Return: QDF Status
|
||||
*/
|
||||
QDF_STATUS
|
||||
ucfg_mlme_set_fw_supported_roaming_akm(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t val);
|
||||
|
||||
/**
|
||||
* ucfg_mlme_is_mawc_enabled() - MAWC enabled or not
|
||||
* @psoc: pointer to psoc object
|
||||
|
@@ -3449,3 +3449,17 @@ QDF_STATUS mlme_get_peer_phymode(struct wlan_objmgr_psoc *psoc, uint8_t *mac,
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS mlme_set_tgt_wpa3_roam_cap(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t akm_bitmap)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
mlme_obj->cfg.lfr.fw_akm_bitmap |= akm_bitmap;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
@@ -701,20 +701,6 @@ ucfg_mlme_get_first_scan_bucket_threshold(struct wlan_objmgr_psoc *psoc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_set_fw_supported_roaming_akm(struct wlan_objmgr_psoc *psoc,
|
||||
uint32_t val)
|
||||
{
|
||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
||||
|
||||
mlme_obj = mlme_get_psoc_obj(psoc);
|
||||
if (!mlme_obj)
|
||||
return QDF_STATUS_E_INVAL;
|
||||
|
||||
mlme_obj->cfg.lfr.fw_akm_bitmap = val;
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
ucfg_mlme_is_mawc_enabled(struct wlan_objmgr_psoc *psoc, bool *val)
|
||||
{
|
||||
|
مرجع در شماره جدید
Block a user