qca-wifi: filter by mac check
filter pass seems to not be working for control frames so we are using mac check address comparison for non-bss freames when tx_monitor is set Change-Id: I3a003636381f73191081e821dbe8cf00a67cb042
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

parent
1d0cd5513b
commit
f73266f87c
@@ -3885,6 +3885,7 @@ QDF_STATUS dp_send_cts_frame_to_stack(struct dp_soc *soc,
|
||||
struct dp_ast_entry *ast_entry;
|
||||
uint32_t peer_id;
|
||||
struct dp_peer *peer;
|
||||
struct dp_vdev *vdev = NULL;
|
||||
|
||||
if (rx_user_status->ast_index >=
|
||||
wlan_cfg_get_max_ast_idx(soc->wlan_cfg_ctx)) {
|
||||
@@ -3915,6 +3916,21 @@ QDF_STATUS dp_send_cts_frame_to_stack(struct dp_soc *soc,
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
if (pdev->tx_capture_enabled == CDP_TX_ENH_CAPTURE_ENABLE_ALL_PEERS) {
|
||||
int8_t match = 0;
|
||||
|
||||
TAILQ_FOREACH(vdev, &pdev->vdev_list, vdev_list_elem) {
|
||||
if (!qdf_mem_cmp(vdev->mac_addr.raw,
|
||||
ppdu_info->rx_info.mac_addr1,
|
||||
QDF_MAC_ADDR_SIZE)) {
|
||||
match = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!match)
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
set_mpdu_info(&tx_capture_info,
|
||||
&ppdu_info->rx_status, rx_user_status);
|
||||
tx_capture_info.mpdu_info.mcs = rx_user_status->mcs;
|
||||
@@ -4090,6 +4106,11 @@ QDF_STATUS dp_send_ack_frame_to_stack(struct dp_soc *soc,
|
||||
|
||||
rx_status = &ppdu_info->rx_status;
|
||||
|
||||
if (ppdu_info->sw_frame_group_id ==
|
||||
HAL_MPDU_SW_FRAME_GROUP_CTRL_RTS) {
|
||||
return dp_send_cts_frame_to_stack(soc, pdev, ppdu_info);
|
||||
}
|
||||
|
||||
if (!rx_status->rxpcu_filter_pass)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
@@ -4104,10 +4125,6 @@ QDF_STATUS dp_send_ack_frame_to_stack(struct dp_soc *soc,
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
if (ppdu_info->sw_frame_group_id ==
|
||||
HAL_MPDU_SW_FRAME_GROUP_CTRL_RTS)
|
||||
return dp_send_cts_frame_to_stack(soc, pdev, ppdu_info);
|
||||
|
||||
if (ppdu_info->sw_frame_group_id == HAL_MPDU_SW_FRAME_GROUP_CTRL_BAR)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
|
Reference in New Issue
Block a user