diff --git a/components/p2p/core/src/wlan_p2p_off_chan_tx.c b/components/p2p/core/src/wlan_p2p_off_chan_tx.c index d2230c3e93be..2677b7b9acba 100644 --- a/components/p2p/core/src/wlan_p2p_off_chan_tx.c +++ b/components/p2p/core/src/wlan_p2p_off_chan_tx.c @@ -128,6 +128,16 @@ static QDF_STATUS p2p_vdev_check_valid(struct tx_action_context *tx_ctx) status = QDF_STATUS_E_FAILURE; } + /* drop action frame for sap */ + if ((mode == QDF_SAP_MODE) && + (tx_ctx->frame_info.sub_type == P2P_MGMT_ACTION) && + (tx_ctx->frame_info.public_action_type == + P2P_PUBLIC_ACTION_NOT_SUPPORT) && + (tx_ctx->frame_info.action_type == P2P_ACTION_NOT_SUPPORT)) { + p2p_debug("drop action frame for SAP"); + status = QDF_STATUS_E_FAILURE; + } + wlan_objmgr_vdev_release_ref(vdev, WLAN_P2P_ID); return status; @@ -165,6 +175,16 @@ static QDF_STATUS p2p_vdev_check_valid(struct tx_action_context *tx_ctx) status = QDF_STATUS_E_FAILURE; } + /* drop ation frame for sap */ + if ((mode == QDF_SAP_MODE) && + (tx_ctx->frame_info.sub_type == P2P_MGMT_ACTION) && + (tx_ctx->frame_info.public_action_type == + P2P_PUBLIC_ACTION_NOT_SUPPORT) && + (tx_ctx->frame_info.action_type == P2P_ACTION_NOT_SUPPORT)) { + p2p_debug("drop action frame for SAP"); + status = QDF_STATUS_E_FAILURE; + } + wlan_objmgr_vdev_release_ref(vdev, WLAN_P2P_ID); return status;