Răsfoiți Sursa

qcacmn: skip WDI peer creation and deletion events in STA mode

In the case of STA mode, will be marking bss peer as part of
peer map events during the creation.
Due to this create event will be triggered during the peer creation
as bss flag is not set and there won't be any peer delete event
to bss peer resulting stale entries in mld hash.
Hence will be avoiding creation and deletion events.

Change-Id: I15a78ad0b8a90b34505880af94522abbe1de8fb5
CRs-Fixed: 3581548
Sai Rupesh Chevuru 1 an în urmă
părinte
comite
98eff70aff
1 a modificat fișierele cu 3 adăugiri și 2 ștergeri
  1. 3 2
      dp/wifi3.0/dp_main.c

+ 3 - 2
dp/wifi3.0/dp_main.c

@@ -4591,7 +4591,8 @@ static QDF_STATUS dp_txrx_peer_detach(struct dp_soc *soc, struct dp_peer *peer)
 		peer->txrx_peer = NULL;
 		pdev = txrx_peer->vdev->pdev;
 
-		if (!peer->bss_peer) {
+		if ((peer->vdev->opmode != wlan_op_mode_sta) &&
+		    !peer->bss_peer) {
 			params.vdev_id = peer->vdev->vdev_id;
 			params.peer_mac = peer->mac_addr.raw;
 
@@ -4685,7 +4686,7 @@ static QDF_STATUS dp_txrx_peer_attach(struct dp_soc *soc, struct dp_peer *peer)
 
 	dp_txrx_peer_attach_add(soc, peer, txrx_peer);
 
-	if (peer->bss_peer)
+	if ((peer->vdev->opmode == wlan_op_mode_sta) || peer->bss_peer)
 		return QDF_STATUS_SUCCESS;
 
 	params.peer_mac = peer->mac_addr.raw;