Bladeren bron

qcacmn: Add support to parse MU-EDCA IE from beacons

Made changes to add support for parsing MU-EDCA IE from beacons.

Change-Id: I6e9b76c82f9048858df3fe0c259182b5df070f30
CRs-fixed: 2247879
Rhythm Patwa 6 jaren geleden
bovenliggende
commit
a6ba9eefb4

+ 5 - 3
umac/cmn_services/cmn_defs/inc/wlan_cmn_ieee80211.h

@@ -348,13 +348,15 @@ enum element_ie {
 
 /**
  * enum extn_element_ie :- extended management information element
- * @WLAN_EXTN_ELEMID_HECAP: HE capabilities IE
- * @WLAN_EXTN_ELEMID_HEOP:  HE Operation IE
- * @WLAN_EXTN_ELEMID_SRP:   spatial reuse parameter IE
+ * @WLAN_EXTN_ELEMID_HECAP:  HE capabilities IE
+ * @WLAN_EXTN_ELEMID_HEOP:   HE Operation IE
+ * @WLAN_EXTN_ELEMID_MUEDCA: MU-EDCA IE
+ * @WLAN_EXTN_ELEMID_SRP:    spatial reuse parameter IE
  */
 enum extn_element_ie {
 	WLAN_EXTN_ELEMID_HECAP       = 35,
 	WLAN_EXTN_ELEMID_HEOP        = 36,
+	WLAN_EXTN_ELEMID_MUEDCA      = 38,
 	WLAN_EXTN_ELEMID_SRP         = 39,
 	WLAN_EXTN_ELEMID_ESP         = 11,
 };

+ 1 - 0
umac/scan/dispatcher/inc/wlan_scan_public_structs.h

@@ -196,6 +196,7 @@ struct ie_list {
 	uint8_t *fils_indication;
 	uint8_t *esp;
 	uint8_t *mbo_oce;
+	uint8_t *muedca;
 };
 
 enum scan_entry_connection_state {

+ 14 - 0
umac/scan/dispatcher/inc/wlan_scan_utils_api.h

@@ -1332,6 +1332,20 @@ util_scan_entry_heop(struct scan_cache_entry *scan_entry)
 	return scan_entry->ie_list.heop;
 }
 
+/**
+ * util_scan_entry_muedca() - function to read MU-EDCA IE
+ * @scan_entry: scan entry
+ *
+ * API, function to read MU-EDCA IE
+ *
+ * Return, MUEDCA IE or NULL if IE is not present
+ */
+static inline uint8_t*
+util_scan_entry_muedca(struct scan_cache_entry *scan_entry)
+{
+	return scan_entry->ie_list.muedca;
+}
+
 /**
  * util_scan_entry_spatial_reuse_parameter() - function to read spatial reuse
  *                                             parameter ie

+ 3 - 0
umac/scan/dispatcher/src/wlan_scan_utils_api.c

@@ -369,6 +369,9 @@ util_scan_parse_extn_ie(struct scan_cache_entry *scan_params,
 	case WLAN_EXTN_ELEMID_ESP:
 		scan_params->ie_list.esp = (uint8_t *)ie;
 		break;
+	case WLAN_EXTN_ELEMID_MUEDCA:
+		scan_params->ie_list.muedca = (uint8_t *)ie;
+		break;
 	default:
 		break;
 	}