qca-wifi: Fix NULL data Tx frame capture

Handle ppdu descriptor for NULL data frame as payload comes in
mgmt ctrl payload tlv.

Change-Id: If0292688620c44e4ebd907217d61e13b6551b4ab
Цей коміт міститься в:
nobelj
2019-10-18 13:52:41 -07:00
джерело 4f465b8c22
коміт d8a5ccc005
2 змінених файлів з 7 додано та 5 видалено

Переглянути файл

@@ -304,7 +304,7 @@ dp_update_msdu_to_list(struct dp_soc *soc,
return QDF_STATUS_E_FAILURE;
}
if (ts->tid > DP_NON_QOS_TID) {
if (ts->tid > DP_MAX_TIDS) {
QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE, QDF_TRACE_LEVEL_ERROR,
"%s: %d peer_id %d, tid %d > NON_QOS_TID!",
__func__, __LINE__, ts->peer_id, ts->tid);
@@ -681,7 +681,7 @@ QDF_STATUS dp_tx_print_bitmap(struct dp_pdev *pdev,
start_seq = user->start_seq;
num_mpdu = user->mpdu_success;
if (user->tid > DP_NON_QOS_TID) {
if (user->tid > DP_MAX_TIDS) {
QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE, QDF_TRACE_LEVEL_ERROR,
"%s: ppdu[%d] peer_id[%d] TID[%d] > NON_QOS_TID!",
__func__, ppdu_id, user->peer_id, user->tid);
@@ -1618,7 +1618,9 @@ dp_check_ppdu_and_deliver(struct dp_pdev *pdev,
ppdu_id = ppdu_desc->ppdu_id;
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) {
struct cdp_tx_indication_info tx_capture_info;
struct cdp_tx_indication_mpdu_info *mpdu_info;
qdf_nbuf_t mgmt_ctl_nbuf;
@@ -2127,7 +2129,7 @@ void dp_tx_ppdu_stats_process(void *context)
/* print the bit map */
dp_tx_print_bitmap(pdev, ppdu_desc,
0, ppdu_desc->ppdu_id);
if (ppdu_desc->user[0].tid > DP_NON_QOS_TID) {
if (ppdu_desc->user[0].tid > DP_MAX_TIDS) {
QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE,
QDF_TRACE_LEVEL_ERROR,
"%s: ppdu[%d] peer_id[%d] TID[%d] > NON_QOS_TID!",

Переглянути файл

@@ -30,7 +30,7 @@ struct dp_peer;
struct dp_tx_desc_s;
#define TXCAP_MAX_TYPE \
((IEEE80211_FC0_TYPE_CTL >> IEEE80211_FC0_TYPE_SHIFT) + 1)
((IEEE80211_FC0_TYPE_DATA >> IEEE80211_FC0_TYPE_SHIFT) + 1)
#define TXCAP_MAX_SUBTYPE \
((IEEE80211_FC0_SUBTYPE_MASK >> IEEE80211_FC0_SUBTYPE_SHIFT) + 1)
struct dp_pdev_tx_capture {