qcacmn: Add support for noACK frames

Intercept monitor destination path for NDPA frames,
use it to generate noack frames for tx capture.

Change-Id: Ia54196bd84729a7863954b6deec7e02b52f23556
CRs-Fixed: 2605672
This commit is contained in:
Amit Shukla
2020-02-14 14:53:32 -08:00
committed by nshrivas
szülő fe04486a96
commit fc8337d5de
2 fájl változott, egészen pontosan 27 új sor hozzáadva és 0 régi sor törölve

Fájl megtekintése

@@ -28,6 +28,29 @@
#include "dp_rx_mon.h"
#include "wlan_cfg.h"
#include "dp_internal.h"
#ifdef WLAN_TX_PKT_CAPTURE_ENH
#include "dp_rx_mon_feature.h"
static inline void
dp_handle_tx_capture(struct dp_soc *soc, struct dp_pdev *pdev,
qdf_nbuf_t mon_mpdu)
{
struct hal_rx_ppdu_info *ppdu_info = &pdev->ppdu_info;
if (pdev->tx_capture_enabled != CDP_TX_ENH_CAPTURE_DISABLED &&
ppdu_info->sw_frame_group_id == HAL_MPDU_SW_FRAME_GROUP_CTRL_NDPA)
dp_handle_tx_capture_from_dest(soc, pdev, mon_mpdu);
}
#else
static inline void
dp_handle_tx_capture(struct dp_soc *soc, struct dp_pdev *pdev,
qdf_nbuf_t mon_mpdu)
{
}
#endif
/* The maxinum buffer length allocated for radio tap */
#define MAX_MONITOR_HEADER (512)
@@ -963,6 +986,8 @@ QDF_STATUS dp_rx_mon_deliver(struct dp_soc *soc, uint32_t mac_id,
pdev->ppdu_info.rx_status.chan_noise_floor =
pdev->chan_noise_floor;
dp_handle_tx_capture(soc, pdev, mon_mpdu);
if (!qdf_nbuf_update_radiotap(&pdev->ppdu_info.rx_status,
mon_mpdu,
qdf_nbuf_headroom(mon_mpdu))) {