mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
qcacld-3.0: Fix 'sae_info' undeclared issue
Structure csr_roam_info member 'sae_info' is defined only when WLAN_FEATURE_SAE is defined. But function csr_process_roam_auth_offload_callback() call it without any checking. Because function csr_process_roam_auth_offload_callback() processes WPA3 SAE info, so rename it, and move it to macro WLAN_FEATURE_SAE. Change-Id: If3d5c1e6739fbd7bee24d19fbbab3495a9a6f8f6 CRs-Fixed: 2532693
This commit is contained in:
parent
a407fea7d0
commit
7117897437
2 changed files with 58 additions and 62 deletions
|
|
@ -409,20 +409,6 @@ QDF_STATUS
|
|||
csr_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id,
|
||||
struct qdf_mac_addr bssid);
|
||||
|
||||
/**
|
||||
* csr_process_roam_auth_offload_callback() - API to trigger the
|
||||
* WPA3 pre-auth event for candidate AP received from firmware.
|
||||
* @vdev_id: vdev id
|
||||
* @roam_bssid: Candidate BSSID to roam
|
||||
*
|
||||
* This function calls the hdd_sme_roam_callback with reason
|
||||
* eCSR_ROAM_SAE_COMPUTE to trigger SAE auth to supplicant.
|
||||
*/
|
||||
QDF_STATUS
|
||||
csr_process_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id,
|
||||
struct qdf_mac_addr roam_bssid);
|
||||
#else
|
||||
static inline QDF_STATUS csr_roam_synch_callback(struct mac_context *mac,
|
||||
struct roam_offload_synch_ind *roam_synch_data,
|
||||
|
|
@ -438,14 +424,6 @@ csr_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
|||
{
|
||||
return QDF_STATUS_E_NOSUPPORT;
|
||||
}
|
||||
|
||||
static inline QDF_STATUS
|
||||
csr_process_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id,
|
||||
struct qdf_mac_addr roam_bssid)
|
||||
{
|
||||
return QDF_STATUS_E_NOSUPPORT;
|
||||
}
|
||||
#endif
|
||||
void csr_neighbor_roam_state_transition(struct mac_context *mac_ctx,
|
||||
uint8_t newstate, uint8_t session);
|
||||
|
|
|
|||
|
|
@ -15373,10 +15373,67 @@ static void csr_update_sae_config(struct join_req *csr_join_req,
|
|||
csr_join_req->sae_pmk_cached,
|
||||
QDF_MAC_ADDR_ARRAY(csr_join_req->bssDescription.bssId));
|
||||
}
|
||||
|
||||
/**
|
||||
* csr_process_roam_auth_sae_callback() - API to trigger the
|
||||
* WPA3 pre-auth event for candidate AP received from firmware.
|
||||
* @mac_ctx: Global mac context pointer
|
||||
* @vdev_id: vdev id
|
||||
* @roam_bssid: Candidate BSSID to roam
|
||||
*
|
||||
* This function calls the hdd_sme_roam_callback with reason
|
||||
* eCSR_ROAM_SAE_COMPUTE to trigger SAE auth to supplicant.
|
||||
*/
|
||||
static QDF_STATUS
|
||||
csr_process_roam_auth_sae_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id,
|
||||
struct qdf_mac_addr roam_bssid)
|
||||
{
|
||||
struct csr_roam_info *roam_info;
|
||||
struct sir_sae_info sae_info;
|
||||
struct csr_roam_session *session = CSR_GET_SESSION(mac_ctx, vdev_id);
|
||||
|
||||
if (!session) {
|
||||
sme_err("WPA3 Preauth event with invalid session id:%d",
|
||||
vdev_id);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
roam_info = qdf_mem_malloc(sizeof(*roam_info));
|
||||
if (!roam_info)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
sae_info.msg_len = sizeof(sae_info);
|
||||
sae_info.vdev_id = vdev_id;
|
||||
|
||||
sae_info.ssid.length = session->connectedProfile.SSID.length;
|
||||
qdf_mem_copy(sae_info.ssid.ssId, session->connectedProfile.SSID.ssId,
|
||||
sae_info.ssid.length);
|
||||
|
||||
qdf_mem_copy(sae_info.peer_mac_addr.bytes,
|
||||
roam_bssid.bytes, QDF_MAC_ADDR_SIZE);
|
||||
|
||||
roam_info->sae_info = &sae_info;
|
||||
|
||||
csr_roam_call_callback(mac_ctx, vdev_id, roam_info, 0,
|
||||
eCSR_ROAM_SAE_COMPUTE, eCSR_ROAM_RESULT_NONE);
|
||||
|
||||
qdf_mem_free(roam_info);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
#else
|
||||
static void csr_update_sae_config(struct join_req *csr_join_req,
|
||||
struct mac_context *mac, struct csr_roam_session *session)
|
||||
{ }
|
||||
|
||||
QDF_STATUS
|
||||
csr_process_roam_auth_sae_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id,
|
||||
struct qdf_mac_addr roam_bssid)
|
||||
{
|
||||
return QDF_STATUS_E_NOSUPPORT;
|
||||
}
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
@ -21959,45 +22016,6 @@ csr_roam_synch_callback(struct mac_context *mac_ctx,
|
|||
return status;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
csr_process_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id,
|
||||
struct qdf_mac_addr roam_bssid)
|
||||
{
|
||||
struct csr_roam_info *roam_info;
|
||||
struct sir_sae_info sae_info;
|
||||
struct csr_roam_session *session = CSR_GET_SESSION(mac_ctx, vdev_id);
|
||||
|
||||
if (!session) {
|
||||
sme_err("WPA3 Preauth event with invalid session id:%d",
|
||||
vdev_id);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
roam_info = qdf_mem_malloc(sizeof(*roam_info));
|
||||
if (!roam_info)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
|
||||
sae_info.msg_len = sizeof(sae_info);
|
||||
sae_info.vdev_id = vdev_id;
|
||||
|
||||
sae_info.ssid.length = session->connectedProfile.SSID.length;
|
||||
qdf_mem_copy(sae_info.ssid.ssId, session->connectedProfile.SSID.ssId,
|
||||
sae_info.ssid.length);
|
||||
|
||||
qdf_mem_copy(sae_info.peer_mac_addr.bytes,
|
||||
roam_bssid.bytes, QDF_MAC_ADDR_SIZE);
|
||||
|
||||
roam_info->sae_info = &sae_info;
|
||||
|
||||
csr_roam_call_callback(mac_ctx, vdev_id, roam_info, 0,
|
||||
eCSR_ROAM_SAE_COMPUTE, eCSR_ROAM_RESULT_NONE);
|
||||
|
||||
qdf_mem_free(roam_info);
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
QDF_STATUS
|
||||
csr_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
||||
uint8_t vdev_id, struct qdf_mac_addr bssid)
|
||||
|
|
@ -22008,7 +22026,7 @@ csr_roam_auth_offload_callback(struct mac_context *mac_ctx,
|
|||
if (!QDF_IS_STATUS_SUCCESS(status))
|
||||
return status;
|
||||
|
||||
status = csr_process_roam_auth_offload_callback(mac_ctx, vdev_id, bssid);
|
||||
status = csr_process_roam_auth_sae_callback(mac_ctx, vdev_id, bssid);
|
||||
|
||||
sme_release_global_lock(&mac_ctx->sme);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue