diff --git a/components/pmo/core/src/wlan_pmo_static_config.c b/components/pmo/core/src/wlan_pmo_static_config.c index 899534cd5c30..c21638a4fe31 100644 --- a/components/pmo/core/src/wlan_pmo_static_config.c +++ b/components/pmo/core/src/wlan_pmo_static_config.c @@ -377,6 +377,19 @@ static void set_action_id_drop_pattern_for_spec_mgmt( = DROP_SPEC_MGMT_ACTION_FRAME_BITMAP; } +/** + * set_action_id_drop_pattern_for_public_action() - Set action id of action + * frames for public action frames to be droppped in fw. + * + * @action_id_per_category: Pointer to action id bitmaps. + */ +static void set_action_id_drop_pattern_for_public_action( + uint32_t *action_id_per_category) +{ + action_id_per_category[PMO_MAC_ACTION_PUBLIC_USAGE] + = DROP_PUBLIC_ACTION_FRAME_BITMAP; +} + void pmo_register_action_frame_patterns(struct wlan_objmgr_vdev *vdev) { @@ -397,6 +410,7 @@ void pmo_register_action_frame_patterns(struct wlan_objmgr_vdev *vdev) cmd.action_category_map[i++] = ALLOWED_ACTION_FRAMES_BITMAP7; set_action_id_drop_pattern_for_spec_mgmt(cmd.action_per_category); + set_action_id_drop_pattern_for_public_action(cmd.action_per_category); for (i = 0; i < PMO_SUPPORTED_ACTION_CATE_ELE_LIST; i++) { if (i < ALLOWED_ACTION_FRAME_MAP_WORDS) @@ -408,6 +422,8 @@ void pmo_register_action_frame_patterns(struct wlan_objmgr_vdev *vdev) pmo_debug("Spectrum mgmt action id drop bitmap: 0x%x", cmd.action_per_category[PMO_MAC_ACTION_SPECTRUM_MGMT]); + pmo_debug("Public action id drop bitmap: 0x%x", + cmd.action_per_category[PMO_MAC_ACTION_PUBLIC_USAGE]); /* config action frame patterns */ status = pmo_tgt_send_action_frame_pattern_req(vdev, &cmd); diff --git a/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h index bfc874975cc0..cd7751fea2ee 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_wow_public_struct.h @@ -116,6 +116,12 @@ #define ALLOWED_ACTION_FRAME_MAP_WORDS (PMO_MAC_ACTION_MAX / 32) +/* Public Action for 20/40 BSS Coexistence */ +#define PMO_MAC_ACTION_MEASUREMENT_PILOT 7 + +#define DROP_PUBLIC_ACTION_FRAME_BITMAP \ + (1 << PMO_MAC_ACTION_MEASUREMENT_PILOT) + #ifndef ANI_SUPPORT_11H /* * DROP_SPEC_MGMT_ACTION_FRAME_BITMAP @@ -127,7 +133,7 @@ * Type | Bit | Drop | * ----------------------------------+-----+------+ * SIR_MAC_ACTION_MEASURE_REQUEST_ID 0 1 - * SIR_MAC_ACTION_TPC_REQUEST_ID 1 1 + * SIR_MAC_ACTION_TPC_REQUEST_ID 2 1 * ----------------------------------+-----+------+ */ #define DROP_SPEC_MGMT_ACTION_FRAME_BITMAP \