Explorar o código

qcacmn: Update mgmt action category

Host updates newly added action categories in enum mgmt_action_category.

Change-Id: I86048f59a6a3917685c18f07b6cb103fc809837f
CRs-Fixed: 2917060
Abhishek Ambure %!s(int64=4) %!d(string=hai) anos
pai
achega
f0df95498a

+ 23 - 0
umac/cmn_services/mgmt_txrx/dispatcher/inc/wlan_mgmt_txrx_utils_api.h

@@ -115,6 +115,14 @@ enum mgmt_subtype {
  * @ACTION_CATEGORY_RVS: robust av streaming action category
  * @ACTION_CATEGORY_UNPROT_DMG: dmg action category
  * @ACTION_CATEGORY_VHT: vht action category
+ * @ACTION_CATEGORY_USIG: Unprotected S1G Action frame
+ * @ACTION_CATEGORY_SIG: S1G Action frame
+ * @ACTION_CATEGORY_FLOW_CONTROL: Flow Control Action frame
+ * @ACTION_CATEGORY_CONTROL_RSP_MCS_NEGO: Control Response MCS Negotiation frame
+ * @ACTION_CATEGORY_FIL: FILS Action frame
+ * @ACTION_CATEGORY_CDMG: CDMG Action frame
+ * @ACTION_CATEGORY_CMMG: CMMG Action frame
+ * @ACTION_CATEGORY_GLK: GLK Action frame
  * @ACTION_CATEGORY_VENDOR_SPECIFIC_PROTECTED: vendor specific protected
  *                                             action category
  * @ACTION_CATEGORY_VENDOR_SPECIFIC: vendor specific action category
@@ -142,6 +150,14 @@ enum mgmt_action_category {
 	ACTION_CATEGORY_RVS = 19,
 	ACTION_CATEGORY_UNPROT_DMG = 20,
 	ACTION_CATEGORY_VHT = 21,
+	ACTION_CATEGORY_USIG = 22,
+	ACTION_CATEGORY_SIG = 23,
+	ACTION_CATEGORY_FLOW_CONTROL = 24,
+	ACTION_CATEGORY_CONTROL_RSP_MCS_NEGO = 25,
+	ACTION_CATEGORY_FILS = 26,
+	ACTION_CATEGORY_CDMG = 27,
+	ACTION_CATEGORY_CMMG = 28,
+	ACTION_CATEGORY_GLK = 29,
 	ACTION_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
 	ACTION_CATEGORY_VENDOR_SPECIFIC = 127,
 };
@@ -886,6 +902,13 @@ QDF_STATUS wlan_mgmt_txrx_mgmt_frame_tx(struct wlan_objmgr_peer *peer,
 					mgmt_ota_comp_cb tx_ota_comp_cb,
 					enum wlan_umac_comp_id comp_id,
 					void *mgmt_tx_params);
+/**
+ * wlan_mgmt_is_rmf_mgmt_action_frame() - API to check action category is rmf
+ * @action_category: action category to check
+ *
+ * Return: true if action category is rmf else false
+ */
+bool wlan_mgmt_is_rmf_mgmt_action_frame(uint8_t action_category);
 
 /**
  * wlan_mgmt_txrx_beacon_frame_tx() - transmits mgmt. beacon

+ 34 - 1
umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_utils_api.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -505,6 +505,39 @@ QDF_STATUS wlan_mgmt_txrx_beacon_frame_tx(struct wlan_objmgr_peer *peer,
 	return QDF_STATUS_SUCCESS;
 }
 
+bool wlan_mgmt_is_rmf_mgmt_action_frame(uint8_t action_category)
+{
+	switch (action_category) {
+	case ACTION_CATEGORY_SPECTRUM_MGMT:
+	case ACTION_CATEGORY_QOS:
+	case ACTION_CATEGORY_DLS:
+	case ACTION_CATEGORY_BACK:
+	case ACTION_CATEGORY_RRM:
+	case ACTION_FAST_BSS_TRNST:
+	case ACTION_CATEGORY_SA_QUERY:
+	case ACTION_CATEGORY_PROTECTED_DUAL_OF_PUBLIC_ACTION:
+	case ACTION_CATEGORY_WNM:
+	case ACTION_CATEGORY_MESH_ACTION:
+	case ACTION_CATEGORY_MULTIHOP_ACTION:
+	case ACTION_CATEGORY_DMG:
+	case ACTION_CATEGORY_FST:
+	case ACTION_CATEGORY_RVS:
+	case ACTION_CATEGORY_SIG:
+	case ACTION_CATEGORY_FLOW_CONTROL:
+	case ACTION_CATEGORY_CONTROL_RSP_MCS_NEGO:
+	case ACTION_CATEGORY_FILS:
+	case ACTION_CATEGORY_CDMG:
+	case ACTION_CATEGORY_CMMG:
+	case ACTION_CATEGORY_GLK:
+	case ACTION_CATEGORY_VENDOR_SPECIFIC_PROTECTED:
+		return true;
+	default:
+		break;
+	}
+
+	return false;
+}
+
 #ifdef WLAN_SUPPORT_FILS
 QDF_STATUS
 wlan_mgmt_txrx_fd_action_frame_tx(struct wlan_objmgr_vdev *vdev,