diff --git a/dp/wifi3.0/dp_tx_capture.c b/dp/wifi3.0/dp_tx_capture.c index b36ffc29e4..fbcc182892 100644 --- a/dp/wifi3.0/dp_tx_capture.c +++ b/dp/wifi3.0/dp_tx_capture.c @@ -695,12 +695,30 @@ void dp_deliver_mgmt_frm(struct dp_pdev *pdev, qdf_nbuf_t nbuf) return; } + if (((wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK) == + IEEE80211_FC0_TYPE_MGT) && + ((wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK) == + IEEE80211_FC0_SUBTYPE_ACTION)) { + uint8_t *frm; + struct ieee80211_action *ia; + + frm = (u_int8_t *)&wh[1]; + ia = (struct ieee80211_action *)frm; + + if ((ia->ia_category == IEEE80211_ACTION_CAT_S1G) && + (ia->ia_action == IEEE80211_ACTION_TWT_SETUP)) { + ptr_mgmt_hdr->is_sgen_pkt = false; + } + } + QDF_TRACE(QDF_MODULE_ID_TX_CAPTURE, QDF_TRACE_LEVEL_DEBUG, - "dlvr mgmt frm(%d 0x%08x): fc 0x%x %x, dur 0x%x%x tsf:%u", + "dlvr mgmt frm(%d 0x%08x): fc 0x%x %x, dur 0x%x%x tsf:%u, retries_count: %d, is_sgen: %d", ptr_mgmt_hdr->ppdu_id, ptr_mgmt_hdr->ppdu_id, wh->i_fc[1], wh->i_fc[0], - wh->i_dur[1], wh->i_dur[0], ptr_mgmt_hdr->tx_tsf); + wh->i_dur[1], wh->i_dur[0], ptr_mgmt_hdr->tx_tsf, + ptr_mgmt_hdr->retries_count, + ptr_mgmt_hdr->is_sgen_pkt); QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_TX_CAPTURE, QDF_TRACE_LEVEL_DEBUG,