diff options
| author | Alok Kumar <alokkuma@codeaurora.org> | 2019-05-13 15:04:09 +0530 |
|---|---|---|
| committer | nshrivas <nshrivas@codeaurora.org> | 2019-05-17 18:27:37 -0700 |
| commit | 7d2d06a7899c2269aaf6c38ccb7554f987ecd8bb (patch) | |
| tree | 223f41f0ef385285a6811764514548819fe98917 | |
| parent | bda10db5eed360d9322e9d851a791838e058ea38 (diff) | |
qcacld-3.0: Send vdev param command to set pkt capture mode
Send vdev param command to FW for STA vdev to set the packet
capture mode. Send the command only if packet capture support
is enabled.
Change-Id: I8e9029219b5d74236e1abbf8ef80dabac8dcd870
CRs-Fixed: 2448507
| -rw-r--r-- | core/wma/inc/wma_internal.h | 4 | ||||
| -rw-r--r-- | core/wma/src/wma_dev_if.c | 37 |
2 files changed, 41 insertions, 0 deletions
diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index a7c5b78380ea..bc38ae1ee80a 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -602,6 +602,10 @@ QDF_STATUS wma_vdev_start(tp_wma_handle wma, struct wma_vdev_start_req *req, void wma_vdev_resp_timer(void *data); +int wma_set_packet_capture_mode(tp_wma_handle wma_handle, + uint8_t vdev_id, + uint8_t val); + struct wma_target_req *wma_fill_vdev_req(tp_wma_handle wma, uint8_t vdev_id, uint32_t msg_type, uint8_t type, diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 952ac186fb2a..07e5bedbde9b 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -2211,6 +2211,23 @@ ol_txrx_vdev_handle wma_vdev_attach(tp_wma_handle wma_handle, if (status != QDF_STATUS_SUCCESS) WMA_LOGE("failed to set retry threshold(err=%d)", status); + + if (cds_get_pktcap_mode_enable() && + wma_handle->is_pktcapture_enabled && + (cds_get_pktcapture_mode() != PKT_CAPTURE_MODE_DISABLE)) { + uint8_t val = cds_get_pktcapture_mode(); + + status = wma_set_packet_capture_mode( + wma_handle, vdev_id, val); + + if (status != QDF_STATUS_SUCCESS) + WMA_LOGE("failed to set capture mode (err=%d)", + status); + else if (status == QDF_STATUS_SUCCESS) + ol_cfg_set_pktcapture_mode(txrx_pdev->ctrl_pdev, + val); + } + break; } @@ -3211,6 +3228,26 @@ void wma_remove_req(tp_wma_handle wma, uint8_t vdev_id, } /** + * wma_set_packet_capture_mode() - set packet capture mode + * @wma: wma handle + * @vdev_id: vdev id + * @val: mode to set + * + * Return: 0 on success, errno on failure + */ +int wma_set_packet_capture_mode(tp_wma_handle wma_handle, + uint8_t vdev_id, + uint8_t val) +{ + int ret; + + ret = wma_cli_set_command(vdev_id, + WMI_VDEV_PARAM_PACKET_CAPTURE_MODE, + val, VDEV_CMD); + return ret; +} + +/** * wma_vdev_resp_timer() - wma response timeout function * @data: target request params * |
