qcacmn: Gets vdev by id in spectral component
It starts spectral scan without vdev object, and uses the first vdev as current vdev. which cause vdev mismatch in some platforms. So pass vdev object or id when finding current vdev. Change-Id: Iab55afbe2c98906021a008918f186d3d2dce5871 CRS-Fixed: 2716460
This commit is contained in:
@@ -60,6 +60,7 @@ void wlan_cfg80211_register_spectral_cmd_handler(struct wlan_objmgr_pdev *pdev,
|
||||
* wlan_cfg80211_spectral_scan_config_and_start() - Start spectral scan
|
||||
* @wiphy: Pointer to wiphy
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @data: Reference to data
|
||||
* @data_len: Length of @data
|
||||
*
|
||||
@@ -67,6 +68,7 @@ void wlan_cfg80211_register_spectral_cmd_handler(struct wlan_objmgr_pdev *pdev,
|
||||
*/
|
||||
int wlan_cfg80211_spectral_scan_config_and_start(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len);
|
||||
|
||||
@@ -74,6 +76,7 @@ int wlan_cfg80211_spectral_scan_config_and_start(struct wiphy *wiphy,
|
||||
* wlan_cfg80211_spectral_scan_stop() - Stop spectral scan
|
||||
* @wiphy: Pointer to wiphy
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @data: Reference to data
|
||||
* @data_len: Length of @data
|
||||
*
|
||||
@@ -81,6 +84,7 @@ int wlan_cfg80211_spectral_scan_config_and_start(struct wiphy *wiphy,
|
||||
*/
|
||||
int wlan_cfg80211_spectral_scan_stop(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len);
|
||||
|
||||
@@ -88,6 +92,7 @@ int wlan_cfg80211_spectral_scan_stop(struct wiphy *wiphy,
|
||||
* wlan_cfg80211_spectral_scan_get_config() - Get spectral scan config
|
||||
* @wiphy: Pointer to wiphy
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @data: Reference to data
|
||||
* @data_len: Length of @data
|
||||
*
|
||||
@@ -95,6 +100,7 @@ int wlan_cfg80211_spectral_scan_stop(struct wiphy *wiphy,
|
||||
*/
|
||||
int wlan_cfg80211_spectral_scan_get_config(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len);
|
||||
|
||||
@@ -102,6 +108,7 @@ int wlan_cfg80211_spectral_scan_get_config(struct wiphy *wiphy,
|
||||
* wlan_cfg80211_spectral_scan_get_cap() - Get spectral system capabilities
|
||||
* @wiphy: Pointer to wiphy
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @data: Reference to data
|
||||
* @data_len: Length of @data
|
||||
*
|
||||
@@ -109,6 +116,7 @@ int wlan_cfg80211_spectral_scan_get_config(struct wiphy *wiphy,
|
||||
*/
|
||||
int wlan_cfg80211_spectral_scan_get_cap(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len);
|
||||
|
||||
@@ -116,6 +124,7 @@ int wlan_cfg80211_spectral_scan_get_cap(struct wiphy *wiphy,
|
||||
* wlan_cfg80211_spectral_scan_get_diag_stats() - Get spectral diag stats
|
||||
* @wiphy: Pointer to wiphy
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @data: Reference to data
|
||||
* @data_len: Length of @data
|
||||
*
|
||||
@@ -123,6 +132,7 @@ int wlan_cfg80211_spectral_scan_get_cap(struct wiphy *wiphy,
|
||||
*/
|
||||
int wlan_cfg80211_spectral_scan_get_diag_stats(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len);
|
||||
|
||||
@@ -130,6 +140,7 @@ int wlan_cfg80211_spectral_scan_get_diag_stats(struct wiphy *wiphy,
|
||||
* wlan_cfg80211_spectral_scan_get_status() - Get spectral scan status
|
||||
* @wiphy: Pointer to wiphy
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @data: Reference to data
|
||||
* @data_len: Length of @data
|
||||
*
|
||||
@@ -137,12 +148,14 @@ int wlan_cfg80211_spectral_scan_get_diag_stats(struct wiphy *wiphy,
|
||||
*/
|
||||
int wlan_cfg80211_spectral_scan_get_status(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len);
|
||||
|
||||
/**
|
||||
* wlan_cfg80211_spectral_scan_dma_debug_config() - configure DMA debug
|
||||
* @pdev: Pointer to pdev
|
||||
* @vdev: Pointer to vdev
|
||||
* @tb: Pointer to Spectral Scan config attribute
|
||||
* @sscan_mode: Spectral scan mode
|
||||
*
|
||||
@@ -150,6 +163,7 @@ int wlan_cfg80211_spectral_scan_get_status(struct wiphy *wiphy,
|
||||
*/
|
||||
QDF_STATUS wlan_cfg80211_spectral_scan_dma_debug_config(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
struct nlattr **tb,
|
||||
enum spectral_scan_mode sscan_mode);
|
||||
#endif
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#include <wlan_spectral_ucfg_api.h>
|
||||
#include <wlan_cfg80211_spectral.h>
|
||||
#include <spectral_ioctl.h>
|
||||
#include <wlan_objmgr_vdev_obj.h>
|
||||
|
||||
const struct nla_policy spectral_scan_policy[
|
||||
QCA_WLAN_VENDOR_ATTR_SPECTRAL_SCAN_CONFIG_MAX + 1] = {
|
||||
@@ -191,6 +192,7 @@ convert_spectral_err_code_internal_to_nl
|
||||
#ifdef DIRECT_BUF_RX_DEBUG
|
||||
QDF_STATUS wlan_cfg80211_spectral_scan_dma_debug_config(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
struct nlattr **tb,
|
||||
enum spectral_scan_mode sscan_mode)
|
||||
{
|
||||
@@ -232,6 +234,7 @@ QDF_STATUS wlan_cfg80211_spectral_scan_dma_debug_config(
|
||||
#else
|
||||
QDF_STATUS wlan_cfg80211_spectral_scan_dma_debug_config(
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
struct nlattr **tb,
|
||||
enum spectral_scan_mode sscan_mode)
|
||||
{
|
||||
@@ -241,6 +244,7 @@ QDF_STATUS wlan_cfg80211_spectral_scan_dma_debug_config(
|
||||
|
||||
int wlan_cfg80211_spectral_scan_config_and_start(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len)
|
||||
{
|
||||
@@ -392,12 +396,17 @@ int wlan_cfg80211_spectral_scan_config_and_start(struct wiphy *wiphy,
|
||||
}
|
||||
|
||||
status = wlan_cfg80211_spectral_scan_dma_debug_config(
|
||||
pdev, tb, sscan_mode);
|
||||
pdev, vdev, tb, sscan_mode);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
status = QDF_STATUS_E_INVAL;
|
||||
goto free_skb_return_os_status;
|
||||
}
|
||||
|
||||
if (vdev)
|
||||
sscan_req.vdev_id = wlan_vdev_get_id(vdev);
|
||||
else
|
||||
sscan_req.vdev_id = WLAN_INVALID_VDEV_ID;
|
||||
|
||||
if (CONFIG_REQUESTED(scan_req_type)) {
|
||||
sscan_req.ss_mode = sscan_mode;
|
||||
sscan_req.req_id = SPECTRAL_SET_CONFIG;
|
||||
@@ -480,6 +489,7 @@ free_skb_return_os_status:
|
||||
|
||||
int wlan_cfg80211_spectral_scan_stop(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len)
|
||||
{
|
||||
@@ -548,6 +558,7 @@ int wlan_cfg80211_spectral_scan_stop(struct wiphy *wiphy,
|
||||
|
||||
int wlan_cfg80211_spectral_scan_get_config(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len)
|
||||
{
|
||||
@@ -678,6 +689,7 @@ fail:
|
||||
|
||||
int wlan_cfg80211_spectral_scan_get_cap(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len)
|
||||
{
|
||||
@@ -829,6 +841,7 @@ fail:
|
||||
|
||||
int wlan_cfg80211_spectral_scan_get_diag_stats(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len)
|
||||
{
|
||||
@@ -880,6 +893,7 @@ int wlan_cfg80211_spectral_scan_get_diag_stats(struct wiphy *wiphy,
|
||||
|
||||
int wlan_cfg80211_spectral_scan_get_status(struct wiphy *wiphy,
|
||||
struct wlan_objmgr_pdev *pdev,
|
||||
struct wlan_objmgr_vdev *vdev,
|
||||
const void *data,
|
||||
int data_len)
|
||||
{
|
||||
|
مرجع در شماره جدید
Block a user