qcacmn: OFDMA counter get increased when num_msdu 0

Sometimes we receive num_msdu as 0 with ru_tones and ru_start
which cause OFDMA counter to get increament

Change-Id: Ib099a2143799551266e94bc9b8d281237092a46e
This commit is contained in:
nobelj
2019-01-31 17:00:51 -08:00
committed by nshrivas
parent 6889ddf7bb
commit 7966633c14
2 changed files with 10 additions and 13 deletions

View File

@@ -54,10 +54,6 @@
#define MAX_RECEPTION_TYPES 4 #define MAX_RECEPTION_TYPES 4
#define MAX_TRANSMIT_TYPES 9 #define MAX_TRANSMIT_TYPES 9
#define SU_TX 0
#define MUMIMO_TX 1
#define MUOFDMA_TX 2
#define MUMIMO_OFDMA_TX 3
#define MAX_USER_POS 8 #define MAX_USER_POS 8
#define MAX_MU_GROUP_ID 64 #define MAX_MU_GROUP_ID 64

View File

@@ -179,7 +179,8 @@ static void dp_tx_stats_update(struct dp_soc *soc, struct dp_peer *peer,
if (soc->process_tx_status) if (soc->process_tx_status)
return; return;
if (ppdu->mu_group_id <= MAX_MU_GROUP_ID && ppdu->ppdu_type != SU_TX) { if (ppdu->mu_group_id <= MAX_MU_GROUP_ID &&
ppdu->ppdu_type != HTT_PPDU_STATS_PPDU_TYPE_SU) {
if (unlikely(!(ppdu->mu_group_id & (MAX_MU_GROUP_ID - 1)))) if (unlikely(!(ppdu->mu_group_id & (MAX_MU_GROUP_ID - 1))))
QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR, QDF_TRACE(QDF_MODULE_ID_TXRX, QDF_TRACE_LEVEL_ERROR,
"mu_group_id out of bound!!\n"); "mu_group_id out of bound!!\n");
@@ -188,28 +189,28 @@ static void dp_tx_stats_update(struct dp_soc *soc, struct dp_peer *peer,
(ppdu->user_pos + 1)); (ppdu->user_pos + 1));
} }
if (ppdu->ppdu_type == MUOFDMA_TX || if (ppdu->ppdu_type == HTT_PPDU_STATS_PPDU_TYPE_MU_OFDMA ||
ppdu->ppdu_type == MUMIMO_OFDMA_TX) { ppdu->ppdu_type == HTT_PPDU_STATS_PPDU_TYPE_MU_MIMO_OFDMA) {
DP_STATS_UPD(peer, tx.ru_tones, ppdu->ru_tones); DP_STATS_UPD(peer, tx.ru_tones, ppdu->ru_tones);
DP_STATS_UPD(peer, tx.ru_start, ppdu->ru_start); DP_STATS_UPD(peer, tx.ru_start, ppdu->ru_start);
switch (ppdu->ru_tones) { switch (ppdu->ru_tones) {
case RU_26: case RU_26:
DP_STATS_INC(peer, tx.ru_loc[0], 1); DP_STATS_INC(peer, tx.ru_loc[0], num_msdu);
break; break;
case RU_52: case RU_52:
DP_STATS_INC(peer, tx.ru_loc[1], 1); DP_STATS_INC(peer, tx.ru_loc[1], num_msdu);
break; break;
case RU_106: case RU_106:
DP_STATS_INC(peer, tx.ru_loc[2], 1); DP_STATS_INC(peer, tx.ru_loc[2], num_msdu);
break; break;
case RU_242: case RU_242:
DP_STATS_INC(peer, tx.ru_loc[3], 1); DP_STATS_INC(peer, tx.ru_loc[3], num_msdu);
break; break;
case RU_484: case RU_484:
DP_STATS_INC(peer, tx.ru_loc[4], 1); DP_STATS_INC(peer, tx.ru_loc[4], num_msdu);
break; break;
case RU_996: case RU_996:
DP_STATS_INC(peer, tx.ru_loc[5], 1); DP_STATS_INC(peer, tx.ru_loc[5], num_msdu);
break; break;
} }
} }