소스 검색

qcacmn: FILS indication IE changes

Add changes to add FILS indication info element in scan result.

Change-Id: I341c30fe23ac8bfe518752d783d23094cbc2ac98
CRs-Fixed: 2068436
Kapil Gupta 7 년 전
부모
커밋
de02d4f62b

+ 1 - 1
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

+ 2 - 0
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;
 };
 
 /**

+ 16 - 0
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

+ 3 - 0
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;