ソースを参照

qcacmn: Support category vendor specific frame

Remove action frame type of presence response since parse incorrect,
Support category vendor specific action frame.

Change-Id: I7c75ed91dc14496d682cd9ce2065589271a1b71b
CRs-Fixed: 2039615
Wu Gao 8 年 前
コミット
47f49f9362

+ 2 - 5
umac/cmn_services/mgmt_txrx/dispatcher/inc/wlan_mgmt_txrx_utils_api.h

@@ -200,15 +200,12 @@ enum block_ack_actioncode {
 /**
 /**
  * enum pub_actioncode - public action frames
  * enum pub_actioncode - public action frames
  * @PUB_ACTION_2040_BSS_COEXISTENCE:  public 20-40 bss coex action frame
  * @PUB_ACTION_2040_BSS_COEXISTENCE:  public 20-40 bss coex action frame
- * @PUB_ACTION_P2P_SUBTYPE_PRESENCE_RSP: public p2p subtype presence
- *                                       response action frame
  * @PUB_ACTION_EXT_CHANNEL_SWITCH_ID: public ext channel switch id action frame
  * @PUB_ACTION_EXT_CHANNEL_SWITCH_ID: public ext channel switch id action frame
  * @PUB_ACTION_VENDOR_SPECIFIC: vendor specific public action frame
  * @PUB_ACTION_VENDOR_SPECIFIC: vendor specific public action frame
  * @PUB_ACTION_TDLS_DISCRESP: tdls discovery response public action frame
  * @PUB_ACTION_TDLS_DISCRESP: tdls discovery response public action frame
  */
  */
 enum pub_actioncode {
 enum pub_actioncode {
 	PUB_ACTION_2040_BSS_COEXISTENCE = 0,
 	PUB_ACTION_2040_BSS_COEXISTENCE = 0,
-	PUB_ACTION_P2P_SUBTYPE_PRESENCE_RSP = 2,
 	PUB_ACTION_EXT_CHANNEL_SWITCH_ID = 4,
 	PUB_ACTION_EXT_CHANNEL_SWITCH_ID = 4,
 	PUB_ACTION_VENDOR_SPECIFIC = 9,
 	PUB_ACTION_VENDOR_SPECIFIC = 9,
 	PUB_ACTION_TDLS_DISCRESP = 14,
 	PUB_ACTION_TDLS_DISCRESP = 14,
@@ -434,7 +431,7 @@ struct action_frm_hdr {
  * @MGMT_ACTION_BA_ADDBA_RESPONSE:  ADDBA response action frame
  * @MGMT_ACTION_BA_ADDBA_RESPONSE:  ADDBA response action frame
  * @MGMT_ACTION_BA_DELBA:           DELBA action frame
  * @MGMT_ACTION_BA_DELBA:           DELBA action frame
  * @MGMT_ACTION_2040_BSS_COEXISTENCE: 20-40 bss coex action frame
  * @MGMT_ACTION_2040_BSS_COEXISTENCE: 20-40 bss coex action frame
- * @MGMT_ACTION_P2P_SUBTYPE_PRESENCE_RSP: p2p subtype presence rsp action frame
+ * @MGMT_ACTION_CATEGORY_VENDOR_SPECIFIC: category vendor spcific action frame
  * @MGMT_ACTION_EXT_CHANNEL_SWITCH_ID: ext channel switch id action frame
  * @MGMT_ACTION_EXT_CHANNEL_SWITCH_ID: ext channel switch id action frame
  * @MGMT_ACTION_VENDOR_SPECIFIC:    vendor specific action frame
  * @MGMT_ACTION_VENDOR_SPECIFIC:    vendor specific action frame
  * @MGMT_ACTION_TDLS_DISCRESP:      TDLS discovery response frame
  * @MGMT_ACTION_TDLS_DISCRESP:      TDLS discovery response frame
@@ -529,7 +526,7 @@ enum mgmt_frame_type {
 	MGMT_ACTION_BA_ADDBA_RESPONSE,
 	MGMT_ACTION_BA_ADDBA_RESPONSE,
 	MGMT_ACTION_BA_DELBA,
 	MGMT_ACTION_BA_DELBA,
 	MGMT_ACTION_2040_BSS_COEXISTENCE,
 	MGMT_ACTION_2040_BSS_COEXISTENCE,
-	MGMT_ACTION_P2P_SUBTYPE_PRESENCE_RSP,
+	MGMT_ACTION_CATEGORY_VENDOR_SPECIFIC,
 	MGMT_ACTION_EXT_CHANNEL_SWITCH_ID,
 	MGMT_ACTION_EXT_CHANNEL_SWITCH_ID,
 	MGMT_ACTION_VENDOR_SPECIFIC,
 	MGMT_ACTION_VENDOR_SPECIFIC,
 	MGMT_ACTION_TDLS_DISCRESP,
 	MGMT_ACTION_TDLS_DISCRESP,

+ 3 - 3
umac/cmn_services/mgmt_txrx/dispatcher/src/wlan_mgmt_txrx_tgt_api.c

@@ -187,9 +187,6 @@ mgmt_get_public_action_subtype(uint8_t action_code)
 	case PUB_ACTION_2040_BSS_COEXISTENCE:
 	case PUB_ACTION_2040_BSS_COEXISTENCE:
 		frm_type = MGMT_ACTION_2040_BSS_COEXISTENCE;
 		frm_type = MGMT_ACTION_2040_BSS_COEXISTENCE;
 		break;
 		break;
-	case PUB_ACTION_P2P_SUBTYPE_PRESENCE_RSP:
-		frm_type = MGMT_ACTION_P2P_SUBTYPE_PRESENCE_RSP;
-		break;
 	case PUB_ACTION_EXT_CHANNEL_SWITCH_ID:
 	case PUB_ACTION_EXT_CHANNEL_SWITCH_ID:
 		frm_type = MGMT_ACTION_EXT_CHANNEL_SWITCH_ID;
 		frm_type = MGMT_ACTION_EXT_CHANNEL_SWITCH_ID;
 		break;
 		break;
@@ -681,6 +678,9 @@ mgmt_txrx_get_action_frm_subtype(uint8_t *mpdu_data_ptr)
 	case ACTION_CATEGORY_VHT:
 	case ACTION_CATEGORY_VHT:
 		frm_type = mgmt_get_vht_action_subtype(action_hdr->action_code);
 		frm_type = mgmt_get_vht_action_subtype(action_hdr->action_code);
 		break;
 		break;
+	case ACTION_CATEGORY_VENDOR_SPECIFIC:
+		frm_type = MGMT_ACTION_CATEGORY_VENDOR_SPECIFIC;
+		break;
 	default:
 	default:
 		frm_type = MGMT_FRM_UNSPECIFIED;
 		frm_type = MGMT_FRM_UNSPECIFIED;
 		break;
 		break;