qcacmn: Modify vendor command handler to accept vdev

The Spectral module uses the first vdev of a pdev for scanning.
For MCL platforms all the vdevs are associated with a single pdev
and this may cause a mismatch between the vdev intended by user and
the vdev used by driver. To avoid this MCL platforms pass a reference
to vdev on which Spectral scan is triggered. WIN platforms
can continue to use the old approach of using the first vdev of a
pdev by passing NULL for vdev to vendor command handlers.

CRS-Fixed: 2725777
Change-Id: I1a7278bdcbcc2b706aa292b33c17546190dac082
This commit is contained in:
Edayilliam Jayadev
2020-07-09 19:39:04 +05:30
committed by snandini
부모 b43c68dedf
커밋 6c76bce586
3개의 변경된 파일68개의 추가작업 그리고 52개의 파일을 삭제

파일 보기

@@ -83,30 +83,22 @@ spectral_get_vdev(struct wlan_objmgr_pdev *pdev, uint8_t vdev_id)
static void
spectral_register_cfg80211_handlers(struct wlan_objmgr_pdev *pdev)
{
wlan_cfg80211_register_spectral_cmd_handler(
pdev,
SPECTRAL_SCAN_START_HANDLER_IDX,
wlan_cfg80211_spectral_scan_config_and_start);
wlan_cfg80211_register_spectral_cmd_handler(
pdev,
SPECTRAL_SCAN_STOP_HANDLER_IDX,
wlan_cfg80211_spectral_scan_stop);
wlan_cfg80211_register_spectral_cmd_handler(
pdev,
SPECTRAL_SCAN_GET_CONFIG_HANDLER_IDX,
wlan_cfg80211_spectral_scan_get_config);
wlan_cfg80211_register_spectral_cmd_handler(
pdev,
SPECTRAL_SCAN_GET_DIAG_STATS_HANDLER_IDX,
wlan_cfg80211_spectral_scan_get_diag_stats);
wlan_cfg80211_register_spectral_cmd_handler(
pdev,
SPECTRAL_SCAN_GET_CAP_HANDLER_IDX,
wlan_cfg80211_spectral_scan_get_cap);
wlan_cfg80211_register_spectral_cmd_handler(
pdev,
SPECTRAL_SCAN_GET_STATUS_HANDLER_IDX,
wlan_cfg80211_spectral_scan_get_status);
struct spectral_cfg80211_vendor_cmd_handlers handlers = {0};
handlers.wlan_cfg80211_spectral_scan_start =
wlan_cfg80211_spectral_scan_config_and_start;
handlers.wlan_cfg80211_spectral_scan_stop =
wlan_cfg80211_spectral_scan_stop;
handlers.wlan_cfg80211_spectral_scan_get_config =
wlan_cfg80211_spectral_scan_get_config;
handlers.wlan_cfg80211_spectral_scan_get_diag_stats =
wlan_cfg80211_spectral_scan_get_diag_stats;
handlers.wlan_cfg80211_spectral_scan_get_cap =
wlan_cfg80211_spectral_scan_get_cap;
handlers.wlan_cfg80211_spectral_scan_get_status =
wlan_cfg80211_spectral_scan_get_status;
wlan_cfg80211_register_spectral_cmd_handler(pdev, &handlers);
}
#else
static void