qcacmn: Assign bss peer in peer map event
Assign num_mpdu to mpdu_tried_mcast for mcast stats updation Defer bss peer assigning till peer map event arrives Do not set delete_in_progress for bss Peer Change-Id: I0881ea3c8804990c336d97cb7b239a991ec64fa9
This commit is contained in:
@@ -1693,6 +1693,7 @@ static void dp_process_ppdu_stats_user_common_tlv(
|
|||||||
ppdu_user_desc->is_mcast = true;
|
ppdu_user_desc->is_mcast = true;
|
||||||
ppdu_user_desc->mpdu_tried_mcast =
|
ppdu_user_desc->mpdu_tried_mcast =
|
||||||
HTT_PPDU_STATS_USER_COMMON_TLV_MPDUS_TRIED_GET(*tag_buf);
|
HTT_PPDU_STATS_USER_COMMON_TLV_MPDUS_TRIED_GET(*tag_buf);
|
||||||
|
ppdu_user_desc->num_mpdu = ppdu_user_desc->mpdu_tried_mcast;
|
||||||
} else {
|
} else {
|
||||||
ppdu_user_desc->mpdu_tried_ucast =
|
ppdu_user_desc->mpdu_tried_ucast =
|
||||||
HTT_PPDU_STATS_USER_COMMON_TLV_MPDUS_TRIED_GET(*tag_buf);
|
HTT_PPDU_STATS_USER_COMMON_TLV_MPDUS_TRIED_GET(*tag_buf);
|
||||||
|
@@ -972,6 +972,18 @@ dp_rx_peer_map_handler(void *soc_handle, uint16_t peer_id, uint16_t hw_peer_id,
|
|||||||
peer = dp_peer_find_add_id(soc, peer_mac_addr, peer_id,
|
peer = dp_peer_find_add_id(soc, peer_mac_addr, peer_id,
|
||||||
hw_peer_id, vdev_id);
|
hw_peer_id, vdev_id);
|
||||||
|
|
||||||
|
qdf_assert_always(peer->vdev);
|
||||||
|
/*
|
||||||
|
* For every peer MAp message search and set if bss_peer
|
||||||
|
*/
|
||||||
|
if (!(qdf_mem_cmp(peer->mac_addr.raw, peer->vdev->mac_addr.raw,
|
||||||
|
DP_MAC_ADDR_LEN))) {
|
||||||
|
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_INFO_HIGH,
|
||||||
|
"vdev bss_peer!!!!");
|
||||||
|
peer->bss_peer = 1;
|
||||||
|
peer->vdev->vap_bss_peer = peer;
|
||||||
|
}
|
||||||
|
|
||||||
dp_peer_map_ast(soc, peer, peer_mac_addr,
|
dp_peer_map_ast(soc, peer, peer_mac_addr,
|
||||||
hw_peer_id, vdev_id);
|
hw_peer_id, vdev_id);
|
||||||
}
|
}
|
||||||
|
@@ -42,6 +42,14 @@ dp_peer_find_by_id(struct dp_soc *soc,
|
|||||||
peer = (peer_id >= soc->max_peers) ? NULL :
|
peer = (peer_id >= soc->max_peers) ? NULL :
|
||||||
soc->peer_id_to_obj_map[peer_id];
|
soc->peer_id_to_obj_map[peer_id];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For bss peer, peer is not really deleted
|
||||||
|
* but reference count is decremented in firmware
|
||||||
|
* and hence ignore delete in progress for bss peer
|
||||||
|
*/
|
||||||
|
if (peer && !peer->bss_peer && peer->delete_in_progress)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
return peer;
|
return peer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user