qcacmn: Avoid wdi events for bss peer
As the bss peer is closely tied with the vdev creation and deletion, listeners might be uninitialized and result race conditions. send an event only to the connected peers. Change-Id: Ia0ae063c92bba38d2fb67fe4eae84f5562991fa2 CRs-Fixed: 3574176
This commit is contained in:

committed by
Rahul Choudhary

父節點
f8d1f8ac6f
當前提交
7157add22c
@@ -4591,12 +4591,14 @@ static QDF_STATUS dp_txrx_peer_detach(struct dp_soc *soc, struct dp_peer *peer)
|
||||
peer->txrx_peer = NULL;
|
||||
pdev = txrx_peer->vdev->pdev;
|
||||
|
||||
params.vdev_id = peer->vdev->vdev_id;
|
||||
params.peer_mac = peer->mac_addr.raw;
|
||||
if (!peer->bss_peer) {
|
||||
params.vdev_id = peer->vdev->vdev_id;
|
||||
params.peer_mac = peer->mac_addr.raw;
|
||||
|
||||
dp_wdi_event_handler(WDI_EVENT_PEER_DELETE, soc,
|
||||
(void *)¶ms, peer->peer_id,
|
||||
WDI_NO_VAL, pdev->pdev_id);
|
||||
dp_wdi_event_handler(WDI_EVENT_PEER_DELETE, soc,
|
||||
(void *)¶ms, peer->peer_id,
|
||||
WDI_NO_VAL, pdev->pdev_id);
|
||||
}
|
||||
|
||||
dp_peer_defrag_rx_tids_deinit(txrx_peer);
|
||||
/*
|
||||
@@ -4683,6 +4685,9 @@ 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)
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
params.peer_mac = peer->mac_addr.raw;
|
||||
params.vdev_id = peer->vdev->vdev_id;
|
||||
params.chip_id = dp_mlo_get_chip_id(soc);
|
||||
|
Reference in New Issue
Block a user