qcacmn: Fix NULL data Tx frame capture
Handle ppdu descriptor for NULL data frame as payload come mgmt payload tlv. Change-Id: I0d9322c8132dc520d0274b9cf1abcf3018469bf7
This commit is contained in:
@@ -2061,6 +2061,7 @@ static void dp_process_ppdu_stats_common_tlv(struct dp_pdev *pdev,
|
|||||||
switch (frame_type) {
|
switch (frame_type) {
|
||||||
case HTT_STATS_FTYPE_TIDQ_DATA_SU:
|
case HTT_STATS_FTYPE_TIDQ_DATA_SU:
|
||||||
case HTT_STATS_FTYPE_TIDQ_DATA_MU:
|
case HTT_STATS_FTYPE_TIDQ_DATA_MU:
|
||||||
|
case HTT_STATS_FTYPE_SGEN_QOS_NULL:
|
||||||
/*
|
/*
|
||||||
* for management packet, frame type come as DATA_SU
|
* for management packet, frame type come as DATA_SU
|
||||||
* need to check frame_ctrl before setting frame_type
|
* need to check frame_ctrl before setting frame_type
|
||||||
@@ -3022,7 +3023,9 @@ dp_ppdu_desc_user_stats_update(struct dp_pdev *pdev,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if ((ppdu_desc->user[i].tid < CDP_DATA_TID_MAX ||
|
if ((ppdu_desc->user[i].tid < CDP_DATA_TID_MAX ||
|
||||||
(ppdu_desc->user[i].tid == CDP_DATA_NON_QOS_TID)) &&
|
(ppdu_desc->user[i].tid == CDP_DATA_NON_QOS_TID) ||
|
||||||
|
(ppdu_desc->htt_frame_type ==
|
||||||
|
HTT_STATS_FTYPE_SGEN_QOS_NULL)) &&
|
||||||
(ppdu_desc->frame_type != CDP_PPDU_FTYPE_CTRL)) {
|
(ppdu_desc->frame_type != CDP_PPDU_FTYPE_CTRL)) {
|
||||||
|
|
||||||
dp_tx_stats_update(pdev, peer,
|
dp_tx_stats_update(pdev, peer,
|
||||||
@@ -3363,9 +3366,12 @@ static struct ppdu_info *dp_htt_process_tlv(struct dp_pdev *pdev,
|
|||||||
* which comes out of order. successful mpdu also populated from
|
* which comes out of order. successful mpdu also populated from
|
||||||
* COMPLTN COMMON TLV which comes in order. for every ppdu_info
|
* COMPLTN COMMON TLV which comes in order. for every ppdu_info
|
||||||
* we store successful mpdu from both tlv and compare before delivering
|
* we store successful mpdu from both tlv and compare before delivering
|
||||||
* to make sure we received ACK BA STATUS TLV.
|
* to make sure we received ACK BA STATUS TLV. For some self generated
|
||||||
|
* frame we won't get ack ba status tlv so no need to wait for
|
||||||
|
* ack ba status tlv.
|
||||||
*/
|
*/
|
||||||
if (ppdu_desc->frame_type != CDP_PPDU_FTYPE_CTRL) {
|
if (ppdu_desc->frame_type != CDP_PPDU_FTYPE_CTRL &&
|
||||||
|
ppdu_desc->htt_frame_type != HTT_STATS_FTYPE_SGEN_QOS_NULL) {
|
||||||
/*
|
/*
|
||||||
* successful mpdu count should match with both tlv
|
* successful mpdu count should match with both tlv
|
||||||
*/
|
*/
|
||||||
|
@@ -73,6 +73,7 @@
|
|||||||
#define MAX_NUM_PEER_ID_PER_PEER 8
|
#define MAX_NUM_PEER_ID_PER_PEER 8
|
||||||
#define DP_MAX_TIDS 17
|
#define DP_MAX_TIDS 17
|
||||||
#define DP_NON_QOS_TID 16
|
#define DP_NON_QOS_TID 16
|
||||||
|
#define DP_NULL_DATA_TID 17
|
||||||
|
|
||||||
#define WLAN_CFG_RX_FST_MAX_SEARCH 2
|
#define WLAN_CFG_RX_FST_MAX_SEARCH 2
|
||||||
#define WLAN_CFG_RX_FST_TOEPLITZ_KEYLEN 40
|
#define WLAN_CFG_RX_FST_TOEPLITZ_KEYLEN 40
|
||||||
|
Reference in New Issue
Block a user