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:
@@ -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
|
||||
|
Reference in New Issue
Block a user