qcacmn: Drop mpdus received on non-monitor PMAC

Currently the monitor mode filter settings are set
for both the PMAC. Hence it is possible that the
non-monitor PMAC (the PMAC on which monitor vdev
is not running), can receive packets and forward them
to the monitor destination ring.

The above scenario will lead to a ppdu_id mismatch
when reaping the monitor status ring and comparing
the ppdu_id in status ring with the one in monitor
destination ring, since monitor status ring will
have ppdu_id from the PMAC on which monitor vdev is
running, whereas monitor destination ring will have
packets from both the PMAC.

In order to mitigate the above issue, detect the
packets in the monitor destination ring, which are
not from the PMAC where monitor vdev is running, and
drop them.

Change-Id: I32392ceeadffd9cb7a4dd76336004a9dcbb99404
CRs-Fixed: 3318036
This commit is contained in:
Rakesh Pillai
2022-10-21 07:34:46 -07:00
gecommit door Madan Koyyalamudi
bovenliggende 2158048410
commit f533809136
4 gewijzigde bestanden met toevoegingen van 208 en 0 verwijderingen

Bestand weergeven

@@ -1148,6 +1148,9 @@ struct hal_hw_txrx_ops {
uint8_t *buf);
void (*hal_set_reo_ent_desc_reo_dest_ind)(uint8_t *desc,
uint32_t dst_ind);
QDF_STATUS
(*hal_rx_reo_ent_get_src_link_id)(hal_rxdma_desc_t rx_desc,
uint8_t *src_link_id);
/* REO CMD and STATUS */
int (*hal_reo_send_cmd)(hal_soc_handle_t hal_soc_hdl,