Merge "qca-wifi: Add QoS NULL Check for Data Frames"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
d99bbeb26f
@@ -2936,10 +2936,10 @@ dp_check_ppdu_and_deliver(struct dp_pdev *pdev,
|
||||
continue;
|
||||
}
|
||||
|
||||
if (ppdu_desc->frame_type == CDP_PPDU_FTYPE_CTRL ||
|
||||
ppdu_desc->htt_frame_type ==
|
||||
HTT_STATS_FTYPE_SGEN_QOS_NULL ||
|
||||
type != FRAME_CTRL_TYPE_DATA) {
|
||||
if ((ppdu_desc->frame_type == CDP_PPDU_FTYPE_CTRL) ||
|
||||
(ppdu_desc->htt_frame_type ==
|
||||
HTT_STATS_FTYPE_SGEN_QOS_NULL) ||
|
||||
(type != FRAME_CTRL_TYPE_DATA)) {
|
||||
qdf_nbuf_t nbuf_ppdu = nbuf_ppdu_desc_list[desc_cnt];
|
||||
|
||||
if (dp_check_mgmt_ctrl_ppdu(pdev, nbuf_ppdu)) {
|
||||
@@ -3235,6 +3235,7 @@ void dp_tx_ppdu_stats_process(void *context)
|
||||
uint32_t num_msdu = 0;
|
||||
uint32_t qlen = 0;
|
||||
uint16_t peer_id;
|
||||
uint8_t type, subtype;
|
||||
|
||||
qdf_nbuf_queue_init(&head_msdu);
|
||||
qdf_nbuf_queue_init(&head_xretries);
|
||||
@@ -3257,6 +3258,18 @@ void dp_tx_ppdu_stats_process(void *context)
|
||||
|
||||
ppdu_desc = (struct cdp_tx_completion_ppdu *)
|
||||
qdf_nbuf_data(nbuf);
|
||||
type = (ppdu_desc->frame_ctrl &
|
||||
IEEE80211_FC0_TYPE_MASK);
|
||||
subtype = (ppdu_desc->frame_ctrl &
|
||||
IEEE80211_FC0_SUBTYPE_MASK);
|
||||
|
||||
if ((type == IEEE80211_FC0_TYPE_DATA) &&
|
||||
(subtype == IEEE80211_FC0_SUBTYPE_QOS_NULL) &&
|
||||
(ppdu_desc->htt_frame_type ==
|
||||
HTT_STATS_FTYPE_TIDQ_DATA_SU)) {
|
||||
ppdu_desc->htt_frame_type =
|
||||
HTT_STATS_FTYPE_SGEN_QOS_NULL;
|
||||
}
|
||||
|
||||
/* send WDI event */
|
||||
if (pdev->tx_capture_enabled ==
|
||||
@@ -3301,9 +3314,11 @@ void dp_tx_ppdu_stats_process(void *context)
|
||||
continue;
|
||||
}
|
||||
|
||||
if ((ppdu_desc->frame_type == CDP_PPDU_FTYPE_DATA) ||
|
||||
(ppdu_desc->num_mpdu &&
|
||||
ppdu_desc->frame_type == CDP_PPDU_FTYPE_BAR)) {
|
||||
if (((ppdu_desc->frame_type == CDP_PPDU_FTYPE_DATA) &&
|
||||
(ppdu_desc->htt_frame_type !=
|
||||
HTT_STATS_FTYPE_SGEN_QOS_NULL)) ||
|
||||
((ppdu_desc->num_mpdu) &&
|
||||
(ppdu_desc->frame_type == CDP_PPDU_FTYPE_BAR))) {
|
||||
peer_id = ppdu_desc->user[0].peer_id;
|
||||
peer = dp_peer_find_by_id(pdev->soc, peer_id);
|
||||
/**
|
||||
|
Reference in New Issue
Block a user