diff --git a/dp/wifi3.0/dp_main.c b/dp/wifi3.0/dp_main.c index e56f6cc393..b6d932dfb0 100644 --- a/dp/wifi3.0/dp_main.c +++ b/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;