From 23bb63a3a9fa8180407d028f14a5268803816e1b Mon Sep 17 00:00:00 2001 From: nobelj Date: Tue, 28 Aug 2018 16:19:33 -0700 Subject: [PATCH] qcacmn: Do not flush tlv if we get same tlv for MUMIMO For MUMIMO and OFDMA, we get same tlv multiple times. So flush not required. Change-Id: I532f4893320c28083d0f29d319fbc0db5b5d14b8 --- dp/wifi3.0/dp_htt.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/dp/wifi3.0/dp_htt.c b/dp/wifi3.0/dp_htt.c index fba43624bab7..9f98868ade55 100644 --- a/dp/wifi3.0/dp_htt.c +++ b/dp/wifi3.0/dp_htt.c @@ -2634,15 +2634,23 @@ struct ppdu_info *dp_get_ppdu_desc(struct dp_pdev *pdev, uint32_t ppdu_id, } if (ppdu_info) { - /** - * if we get tlv_type that is already been processed for ppdu, - * that means we got a new ppdu with same ppdu id. - * Hence Flush the older ppdu - */ - if (ppdu_info->tlv_bitmap & (1 << tlv_type)) + if (ppdu_info->tlv_bitmap & (1 << tlv_type)) { + /** + * if we get tlv_type that is already been processed + * for ppdu, that means we got a new ppdu with same + * ppdu id. Hence Flush the older ppdu + * for MUMIMO and OFDMA, In a PPDU we have + * multiple user with same tlv types. tlv bitmap is + * used to check whether SU or MU_MIMO/OFDMA + */ + if (!(ppdu_info->tlv_bitmap & + (1 << HTT_PPDU_STATS_SCH_CMD_STATUS_TLV))) + return ppdu_info; + dp_ppdu_desc_deliver(pdev, ppdu_info); - else + } else { return ppdu_info; + } } /**