소스 검색

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
Pavankumar Nandeshwar 3 년 전
부모
커밋
e157e0df4e
2개의 변경된 파일8개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 3
      dp/wifi3.0/dp_peer.c
  2. 7 0
      dp/wifi3.0/dp_rx.c

+ 1 - 3
dp/wifi3.0/dp_peer.c

@@ -4896,9 +4896,7 @@ QDF_STATUS dp_register_peer(struct cdp_soc_t *soc_hdl, uint8_t pdev_id,
 	peer->state = OL_TXRX_PEER_STATE_CONN;
 	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) {
 		dp_peer_info("register for mld peer" QDF_MAC_ADDR_FMT,

+ 7 - 0
dp/wifi3.0/dp_rx.c

@@ -1693,6 +1693,13 @@ void dp_rx_flush_rx_cached(struct dp_peer *peer, bool drop)
 	int num_buff_elem;
 	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->sta_self_peer) {
 			qdf_err("txrx_peer NULL!!");