qcacmn: Fetch peer from sw_peer_id instead of ast_idx

Change to fetch peer details based on sw_peer_id instead of
ast_index.

CRs-Fixed: 3245246
Change-Id: Ibd525127b4678392712a1e57507a9576a78624f1
This commit is contained in:
Shwetha G K
2022-07-19 09:22:30 +05:30
committed by Madan Koyyalamudi
parent c8ba5e36c8
commit 8c61283889

View File

@@ -83,10 +83,11 @@ dp_rx_mon_populate_cfr_ppdu_info(struct dp_pdev *pdev,
struct cdp_rx_indication_ppdu *cdp_rx_ppdu) struct cdp_rx_indication_ppdu *cdp_rx_ppdu)
{ {
struct dp_peer *peer; struct dp_peer *peer;
struct dp_ast_entry *ast_entry;
struct dp_soc *soc = pdev->soc; struct dp_soc *soc = pdev->soc;
uint32_t ast_index;
int chain; int chain;
uint16_t sw_peer_id;
struct mon_rx_user_status *rx_user_status;
uint32_t num_users = ppdu_info->com_info.num_users;
cdp_rx_ppdu->ppdu_id = ppdu_info->com_info.ppdu_id; cdp_rx_ppdu->ppdu_id = ppdu_info->com_info.ppdu_id;
cdp_rx_ppdu->timestamp = ppdu_info->rx_status.tsft; cdp_rx_ppdu->timestamp = ppdu_info->rx_status.tsft;
@@ -116,23 +117,11 @@ dp_rx_mon_populate_cfr_ppdu_info(struct dp_pdev *pdev,
QDF_MON_STATUS_DCM_SHIFT) & 0x1; QDF_MON_STATUS_DCM_SHIFT) & 0x1;
} }
qdf_assert_always(num_users <= CDP_MU_MAX_USERS);
dp_rx_mon_handle_cfr_mu_info(pdev, ppdu_info, cdp_rx_ppdu); dp_rx_mon_handle_cfr_mu_info(pdev, ppdu_info, cdp_rx_ppdu);
ast_index = ppdu_info->rx_status.ast_index; rx_user_status = &ppdu_info->rx_user_status[num_users - 1];
if (ast_index >= wlan_cfg_get_max_ast_idx(soc->wlan_cfg_ctx)) { sw_peer_id = rx_user_status->sw_peer_id;
cdp_rx_ppdu->peer_id = HTT_INVALID_PEER; peer = dp_peer_get_ref_by_id(soc, sw_peer_id, DP_MOD_ID_RX_PPDU_STATS);
cdp_rx_ppdu->num_users = 0;
return;
}
ast_entry = soc->ast_table[ast_index];
if (!ast_entry || ast_entry->peer_id == HTT_INVALID_PEER) {
cdp_rx_ppdu->peer_id = HTT_INVALID_PEER;
cdp_rx_ppdu->num_users = 0;
return;
}
peer = dp_peer_get_ref_by_id(soc, ast_entry->peer_id,
DP_MOD_ID_RX_PPDU_STATS);
if (!peer) { if (!peer) {
cdp_rx_ppdu->peer_id = HTT_INVALID_PEER; cdp_rx_ppdu->peer_id = HTT_INVALID_PEER;
cdp_rx_ppdu->num_users = 0; cdp_rx_ppdu->num_users = 0;
@@ -141,7 +130,7 @@ dp_rx_mon_populate_cfr_ppdu_info(struct dp_pdev *pdev,
cdp_rx_ppdu->peer_id = peer->peer_id; cdp_rx_ppdu->peer_id = peer->peer_id;
cdp_rx_ppdu->vdev_id = peer->vdev->vdev_id; cdp_rx_ppdu->vdev_id = peer->vdev->vdev_id;
cdp_rx_ppdu->num_users = ppdu_info->com_info.num_users; cdp_rx_ppdu->num_users = num_users;
} }
bool bool