qcacmn: Update preauth candidate entry to scan table
During SAE roam auth offload, update the beacon/probe response frame coming from the FW via WMI_ROAM_FRAME_EVENTID into the scan db. When the bss info of the preauth candidate is unavailable in the host/kernel scan entry, supplicant fails to determine the proper SAE PWE config of the peer and the commit request fails. Change-Id: I8537147104f30b74ffb2e87946f2e5f4b129f0df CRs-Fixed: 3075460
This commit is contained in:

committed by
Madan Koyyalamudi

parent
b9f1cd3492
commit
c4e6b83afe
@@ -271,6 +271,8 @@
|
|||||||
#define WLAN_MAX_MUEDCA_IE_LEN 14
|
#define WLAN_MAX_MUEDCA_IE_LEN 14
|
||||||
#define WLAN_MAX_HE_6G_CAP_IE_LEN 3
|
#define WLAN_MAX_HE_6G_CAP_IE_LEN 3
|
||||||
#define WLAN_MAX_HEOP_IE_LEN 16
|
#define WLAN_MAX_HEOP_IE_LEN 16
|
||||||
|
#define WLAN_HEOP_OUI_TYPE "\x24"
|
||||||
|
#define WLAN_HEOP_OUI_SIZE 1
|
||||||
|
|
||||||
/* HT capability flags */
|
/* HT capability flags */
|
||||||
#define WLAN_HTCAP_C_ADVCODING 0x0001
|
#define WLAN_HTCAP_C_ADVCODING 0x0001
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -1813,4 +1814,20 @@ static inline bool util_scan_is_null_ssid(struct wlan_ssid *ssid)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* util_scan_get_6g_oper_channel() - function to get primary channel
|
||||||
|
* from he op IE
|
||||||
|
* he_op_ie : ie pointer
|
||||||
|
*
|
||||||
|
* Return : primary channel or 0 if 6g params is not present.
|
||||||
|
*/
|
||||||
|
#ifdef CONFIG_BAND_6GHZ
|
||||||
|
uint8_t util_scan_get_6g_oper_channel(uint8_t *he_op_ie);
|
||||||
|
#else
|
||||||
|
static inline uint8_t
|
||||||
|
util_scan_get_6g_oper_channel(uint8_t *he_op_ie)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1,5 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2017-2021 The Linux Foundation. All rights reserved.
|
||||||
|
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -393,6 +394,19 @@ util_scan_get_phymode_6g(struct wlan_objmgr_pdev *pdev,
|
|||||||
|
|
||||||
return phymode;
|
return phymode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t
|
||||||
|
util_scan_get_6g_oper_channel(uint8_t *he_op_ie)
|
||||||
|
{
|
||||||
|
struct he_oper_6g_param *he_6g_params;
|
||||||
|
|
||||||
|
he_6g_params = util_scan_get_he_6g_params(he_op_ie);
|
||||||
|
if (!he_6g_params)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
return he_6g_params->primary_channel;
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static QDF_STATUS
|
static QDF_STATUS
|
||||||
util_scan_get_chan_from_he_6g_params(struct wlan_objmgr_pdev *pdev,
|
util_scan_get_chan_from_he_6g_params(struct wlan_objmgr_pdev *pdev,
|
||||||
|
@@ -4721,6 +4721,7 @@ typedef enum {
|
|||||||
wmi_mlo_link_set_active_resp_eventid,
|
wmi_mlo_link_set_active_resp_eventid,
|
||||||
#endif
|
#endif
|
||||||
wmi_pdev_fips_extend_event_id,
|
wmi_pdev_fips_extend_event_id,
|
||||||
|
wmi_roam_frame_event_id,
|
||||||
wmi_events_max,
|
wmi_events_max,
|
||||||
} wmi_conv_event_id;
|
} wmi_conv_event_id;
|
||||||
|
|
||||||
|
@@ -447,6 +447,10 @@ QDF_STATUS
|
|||||||
(*extract_roam_pmkid_request)(wmi_unified_t wmi_handle,
|
(*extract_roam_pmkid_request)(wmi_unified_t wmi_handle,
|
||||||
uint8_t *event, uint32_t data_len,
|
uint8_t *event, uint32_t data_len,
|
||||||
struct roam_pmkid_req_event **list);
|
struct roam_pmkid_req_event **list);
|
||||||
|
QDF_STATUS
|
||||||
|
(*extract_roam_candidate_frame)(wmi_unified_t wmi_handle,
|
||||||
|
uint8_t *event, uint32_t data_len,
|
||||||
|
struct roam_scan_candidate_frame *data);
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEATURE_MEC_OFFLOAD
|
#ifdef FEATURE_MEC_OFFLOAD
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
|
@@ -17600,6 +17600,8 @@ event_ids[wmi_roam_scan_chan_list_id] =
|
|||||||
event_ids[wmi_mlo_link_set_active_resp_eventid] =
|
event_ids[wmi_mlo_link_set_active_resp_eventid] =
|
||||||
WMI_MLO_LINK_SET_ACTIVE_RESP_EVENTID;
|
WMI_MLO_LINK_SET_ACTIVE_RESP_EVENTID;
|
||||||
#endif
|
#endif
|
||||||
|
event_ids[wmi_roam_frame_event_id] =
|
||||||
|
WMI_ROAM_FRAME_EVENTID;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_LINK_LAYER_STATS
|
#ifdef WLAN_FEATURE_LINK_LAYER_STATS
|
||||||
|
Reference in New Issue
Block a user