diff --git a/core/mac/inc/sir_mac_prot_def.h b/core/mac/inc/sir_mac_prot_def.h index 8ea6dceed4..bf90279c00 100644 --- a/core/mac/inc/sir_mac_prot_def.h +++ b/core/mac/inc/sir_mac_prot_def.h @@ -141,6 +141,7 @@ #define SIR_MAC_ACTION_MHF 14 #define SIR_MAC_SELF_PROTECTED 15 #define SIR_MAC_ACTION_WME 17 +#define SIR_MAC_ACTION_FST 18 #define SIR_MAC_ACTION_VHT 21 /* QoS management action codes */ diff --git a/core/mac/src/pe/lim/lim_process_action_frame.c b/core/mac/src/pe/lim/lim_process_action_frame.c index 99526f7743..2c23c83f85 100644 --- a/core/mac/src/pe/lim/lim_process_action_frame.c +++ b/core/mac/src/pe/lim/lim_process_action_frame.c @@ -2130,6 +2130,23 @@ void lim_process_action_frame(tpAniSirGlobal mac_ctx, } break; #endif + case SIR_MAC_ACTION_FST: { + tpSirMacMgmtHdr hdr; + uint32_t frame_len; + + hdr = WMA_GET_RX_MAC_HEADER(rx_pkt_info); + frame_len = WMA_GET_RX_PAYLOAD_LEN(rx_pkt_info); + + lim_log(mac_ctx, LOG1, FL("Received FST MGMT action frame")); + /* Forward to the SME to HDD */ + lim_send_sme_mgmt_frame_ind(mac_ctx, hdr->fc.subType, + (uint8_t *)hdr, + frame_len + sizeof(tSirMacMgmtHdr), + session->smeSessionId, + WMA_GET_RX_CH(rx_pkt_info), + session, 0); + break; + } default: lim_log(mac_ctx, LOGE, FL("Action category %d not handled"),