qcacmn: Update ack rssi only for successful completion status

Currently ack rssi is updated unconditionally. Check completion
status before updating ack rssi

Change-Id: I9dec8a051adc933ceab33c71ccbb784471b2756e
This commit is contained in:
Anish Nataraj 2018-08-20 13:10:25 +05:30 • committed by nshrivas
commit 7235d9b33d
2 changed files with 8 additions and 2 deletions

View file

@ -987,6 +987,7 @@ struct cdp_tx_completion_ppdu_user {
uint32_t tx_ratekbps;
/*ack rssi for separate chains*/
uint32_t ack_rssi[CDP_RSSI_CHAIN_LEN];
bool ack_rssi_valid;
};
/**

View file

@ -152,7 +152,7 @@ static void dp_tx_stats_update(struct dp_soc *soc, struct dp_peer *peer,
DP_STATS_INC(peer, tx.wme_ac_type[TID_TO_WME_AC(ppdu->tid)], num_msdu);
DP_STATS_INCC(peer, tx.stbc, num_msdu, ppdu->stbc);
DP_STATS_INCC(peer, tx.ldpc, num_msdu, ppdu->ldpc);
if (!(ppdu->is_mcast))
if (!(ppdu->is_mcast) && ppdu->ack_rssi_valid)
DP_STATS_UPD(peer, tx.last_ack_rssi, ack_rssi);
DP_STATS_INC(peer, tx.retries,
@ -1986,7 +1986,12 @@ static void dp_process_ppdu_stats_user_cmpltn_common_tlv(
tag_buf++;
ppdu_desc->ack_rssi = dp_stats_buf->ack_rssi;
if (qdf_likely(ppdu_user_desc->completion_status)) {
ppdu_desc->ack_rssi = dp_stats_buf->ack_rssi;
ppdu_user_desc->ack_rssi_valid = 1;
} else {
ppdu_user_desc->ack_rssi_valid = 0;
}
tag_buf++;