diff --git a/dp/wifi3.0/dp_rx.c b/dp/wifi3.0/dp_rx.c index 073a0bf7b96a..66782251f4f8 100644 --- a/dp/wifi3.0/dp_rx.c +++ b/dp/wifi3.0/dp_rx.c @@ -1440,9 +1440,9 @@ static inline bool is_sa_da_idx_valid(struct dp_soc *soc, if ((qdf_nbuf_is_sa_valid(nbuf) && (hal_rx_msdu_end_sa_idx_get(rx_tlv_hdr) > wlan_cfg_get_max_ast_idx(soc->wlan_cfg_ctx))) || - (qdf_nbuf_is_da_valid(nbuf) && - (hal_rx_msdu_end_da_idx_get(soc->hal_soc, - rx_tlv_hdr) > + (!qdf_nbuf_is_da_mcbc(nbuf) && + qdf_nbuf_is_da_valid(nbuf) && + (hal_rx_msdu_end_da_idx_get(soc->hal_soc, rx_tlv_hdr) > wlan_cfg_get_max_ast_idx(soc->wlan_cfg_ctx)))) return false; diff --git a/dp/wifi3.0/dp_stats.c b/dp/wifi3.0/dp_stats.c index 4e389af5d77f..a9b7e15aa773 100644 --- a/dp/wifi3.0/dp_stats.c +++ b/dp/wifi3.0/dp_stats.c @@ -5094,6 +5094,8 @@ void dp_txrx_path_stats(struct dp_soc *soc) pdev->soc->stats.rx.err.rx_invalid_peer_id.num); DP_PRINT_STATS("packet_len invalid %u", pdev->soc->stats.rx.err.rx_invalid_pkt_len.num); + DP_PRINT_STATS("sa or da idx invalid %u", + pdev->soc->stats.rx.err.invalid_sa_da_idx); DP_PRINT_STATS("Reo Statistics"); DP_PRINT_STATS("rbm error: %u msdus",