From de02d4f62b371e750cdc0b1c89d0b3d8816281c4 Mon Sep 17 00:00:00 2001 From: Kapil Gupta Date: Mon, 5 Jun 2017 12:37:59 +0530 Subject: [PATCH] qcacmn: FILS indication IE changes Add changes to add FILS indication info element in scan result. Change-Id: I341c30fe23ac8bfe518752d783d23094cbc2ac98 CRs-Fixed: 2068436 --- .../cmn_defs/inc/wlan_cmn_ieee80211.h | 2 +- .../dispatcher/inc/wlan_scan_public_structs.h | 2 ++ umac/scan/dispatcher/inc/wlan_scan_utils_api.h | 16 ++++++++++++++++ umac/scan/dispatcher/src/wlan_scan_utils_api.c | 3 +++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h b/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h index 76c9b5c79d..8a3e09c43e 100644 --- a/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h +++ b/umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h @@ -313,6 +313,7 @@ enum element_ie { WLAN_ELEMID_QUIET_CHANNEL = 198, WLAN_ELEMID_OP_MODE_NOTIFY = 199, WLAN_ELEMID_VENDOR = 221, + WLAN_ELEMID_FILS_INDICATION = 240, WLAN_ELEMID_EXTN_ELEM = 255, }; @@ -1055,7 +1056,6 @@ is_he_op_oui(uint8_t *frm) ((ATH_HE_OP_SUBTYPE << 24) | ATH_HE_OUI)); } - /** * wlan_parse_rsn_ie() - parse rsn ie * @rsn_ie: rsn ie ptr diff --git a/umac/scan/dispatcher/inc/wlan_scan_public_structs.h b/umac/scan/dispatcher/inc/wlan_scan_public_structs.h index 22d5bebce3..9bcc68908e 100644 --- a/umac/scan/dispatcher/inc/wlan_scan_public_structs.h +++ b/umac/scan/dispatcher/inc/wlan_scan_public_structs.h @@ -123,6 +123,7 @@ struct element_info { * @widebw: pointer to wide band channel switch sub ie * @txpwrenvlp: pointer to tx power envelop sub ie * @srp: pointer to spatial reuse parameter sub extended ie + * @fils_indication: pointer to FILS indication ie */ struct ie_list { uint8_t *tim; @@ -164,6 +165,7 @@ struct ie_list { uint8_t *hecap; uint8_t *heop; uint8_t *srp; + uint8_t *fils_indication; }; /** diff --git a/umac/scan/dispatcher/inc/wlan_scan_utils_api.h b/umac/scan/dispatcher/inc/wlan_scan_utils_api.h index b4311ed474..774c30700b 100644 --- a/umac/scan/dispatcher/inc/wlan_scan_utils_api.h +++ b/umac/scan/dispatcher/inc/wlan_scan_utils_api.h @@ -649,6 +649,8 @@ util_scan_copy_beacon_data(struct scan_cache_entry *new_entry, ie_lst->mdie = conv_ptr(ie_lst->mdie, old_ptr, new_ptr); ie_lst->hecap = conv_ptr(ie_lst->hecap, old_ptr, new_ptr); ie_lst->heop = conv_ptr(ie_lst->heop, old_ptr, new_ptr); + ie_lst->fils_indication = conv_ptr(ie_lst->fils_indication, + old_ptr, new_ptr); return QDF_STATUS_SUCCESS; } @@ -1289,6 +1291,20 @@ util_scan_entry_spatial_reuse_parameter(struct scan_cache_entry *scan_entry) return scan_entry->ie_list.srp; } +/** + * util_scan_entry_fils_indication() - function to read FILS indication ie + * @scan_entry: scan entry + * + * API, function to read FILS indication ie + * + * Return, FILS indication ie or NULL if ie is not present + */ +static inline uint8_t* +util_scan_entry_fils_indication(struct scan_cache_entry *scan_entry) +{ + return scan_entry->ie_list.fils_indication; +} + /** * util_get_last_scan_time() - function to get last scan time on this pdev * @vdev: vdev object diff --git a/umac/scan/dispatcher/src/wlan_scan_utils_api.c b/umac/scan/dispatcher/src/wlan_scan_utils_api.c index 2a1dd038f6..48ed62d2ff 100644 --- a/umac/scan/dispatcher/src/wlan_scan_utils_api.c +++ b/umac/scan/dispatcher/src/wlan_scan_utils_api.c @@ -536,6 +536,9 @@ util_scan_populate_bcn_ie_list(struct scan_cache_entry *scan_params) return status; } break; + case WLAN_ELEMID_FILS_INDICATION: + scan_params->ie_list.fils_indication = (uint8_t *)ie; + break; case WLAN_ELEMID_EXTN_ELEM: util_scan_parse_extn_ie(scan_params, ie); break;