qcacmn: Flush dp cached frames only for mld peer

Flush dp cached frames only for mld peers and legacy peers, as
link peers don't need it.

Change-Id: I19a27c5810a1fec6a62bfe5a6377073dc382fb4c
CRs-Fixed: 3131405
This commit is contained in:
Pavankumar Nandeshwar
2022-02-16 00:16:17 -08:00
committed by Madan Koyyalamudi
parent 0447218ad2
commit e157e0df4e
2 changed files with 8 additions and 3 deletions

View File

@@ -4896,8 +4896,6 @@ QDF_STATUS dp_register_peer(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
peer->state = OL_TXRX_PEER_STATE_CONN; peer->state = OL_TXRX_PEER_STATE_CONN;
qdf_spin_unlock_bh(&peer->peer_info_lock); qdf_spin_unlock_bh(&peer->peer_info_lock);
/* For MLO connection, no RX packet to link peer */
if (!IS_MLO_DP_LINK_PEER(peer))
dp_rx_flush_rx_cached(peer, false); dp_rx_flush_rx_cached(peer, false);
if (IS_MLO_DP_LINK_PEER(peer) && peer->first_link) { if (IS_MLO_DP_LINK_PEER(peer) && peer->first_link) {

View File

@@ -1693,6 +1693,13 @@ void dp_rx_flush_rx_cached(struct dp_peer *peer, bool drop)
int num_buff_elem; int num_buff_elem;
QDF_STATUS status; QDF_STATUS status;
/*
* Flush dp cached frames only for mld peers and legacy peers, as
* link peers don't store cached frames
*/
if (IS_MLO_DP_LINK_PEER(peer))
return;
if (!peer->txrx_peer) { if (!peer->txrx_peer) {
if (!peer->sta_self_peer) { if (!peer->sta_self_peer) {
qdf_err("txrx_peer NULL!!"); qdf_err("txrx_peer NULL!!");