diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index b454a97e3f..1a3da37735 100644 --- a/dp/wifi3.0/dp_main.c +++ b/dp/wifi3.0/dp_main.c @@ -8994,6 +8994,8 @@ static QDF_STATUS dp_peer_delete_wifi3(struct cdp_soc_t *soc_hdl, dp_init_info("%pK: peer %pK (" QDF_MAC_ADDR_FMT ")", soc, peer, QDF_MAC_ADDR_REF(peer->mac_addr.raw)); + dp_peer_rx_reo_shared_qaddr_delete(soc, peer); + dp_local_peer_id_free(peer->vdev->pdev, peer); /* Drop all rx packets before deleting peer */ diff --git a/dp/wifi3.0/dp_peer.c b/dp/wifi3.0/dp_peer.c index ed459614b0..e067f2798a 100644 --- a/dp/wifi3.0/dp_peer.c +++ b/dp/wifi3.0/dp_peer.c @@ -2833,6 +2833,8 @@ void dp_peer_rx_reo_shared_qaddr_delete(struct dp_soc *soc, { uint8_t tid; + if (peer->peer_id > soc->max_peer_id) + return; if (IS_MLO_DP_LINK_PEER(peer)) return; if (hal_reo_shared_qaddr_is_enable(soc->hal_soc)) {