qcacmn: Add usenol support to Host DFS Test
When user sets the usenol to 0 and inject the radar, host sends RADAR found WMI command to firmware. Firmware sends status code as 2 and starts a 2 minutes timer to receive channel change request from host. Since usenol was set to 0, host does not change the channel. This leads to firmware timer expiry and sends status code 1 to block all the DFS channels. This is not desired. Do not send the RADAR found WMI command to firmware when usenol is 0. Change-Id: I5884eb343cc419d4c9f5bda3e6eaa7c95c4d4af5 CRs-Fixed: 2276722
This commit is contained in:
@@ -1087,6 +1087,7 @@ struct wlan_dfs {
|
|||||||
qdf_spinlock_t dfs_nol_lock;
|
qdf_spinlock_t dfs_nol_lock;
|
||||||
uint16_t tx_leakage_threshold;
|
uint16_t tx_leakage_threshold;
|
||||||
bool dfs_use_nol_subchannel_marking;
|
bool dfs_use_nol_subchannel_marking;
|
||||||
|
uint8_t dfs_spoof_test_done:1;
|
||||||
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
|
||||||
os_timer_t dfs_host_wait_timer;
|
os_timer_t dfs_host_wait_timer;
|
||||||
uint32_t dfs_average_pri;
|
uint32_t dfs_average_pri;
|
||||||
@@ -1095,8 +1096,7 @@ struct wlan_dfs {
|
|||||||
uint8_t dfs_is_host_wait_running:1,
|
uint8_t dfs_is_host_wait_running:1,
|
||||||
dfs_average_params_sent:1,
|
dfs_average_params_sent:1,
|
||||||
dfs_no_res_from_fw:1,
|
dfs_no_res_from_fw:1,
|
||||||
dfs_spoof_check_failed:1,
|
dfs_spoof_check_failed:1;
|
||||||
dfs_spoof_test_done:1;
|
|
||||||
struct dfs_channel dfs_radar_found_chan;
|
struct dfs_channel dfs_radar_found_chan;
|
||||||
int dfs_status_timeout_override;
|
int dfs_status_timeout_override;
|
||||||
#endif
|
#endif
|
||||||
|
@@ -1310,8 +1310,9 @@ void dfs_radar_found_action(struct wlan_dfs *dfs,
|
|||||||
* wait timer.
|
* wait timer.
|
||||||
*/
|
*/
|
||||||
if (!bangradar &&
|
if (!bangradar &&
|
||||||
(utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_FCC_DOMAIN) &&
|
(utils_get_dfsdomain(dfs->dfs_pdev_obj) == DFS_FCC_DOMAIN) &&
|
||||||
lmac_is_host_dfs_check_support_enabled(dfs->dfs_pdev_obj)) {
|
lmac_is_host_dfs_check_support_enabled(dfs->dfs_pdev_obj) &&
|
||||||
|
(dfs->dfs_spoof_test_done ? dfs->dfs_use_nol : 1)) {
|
||||||
dfs_radarfound_action_fcc(dfs, seg_id);
|
dfs_radarfound_action_fcc(dfs, seg_id);
|
||||||
} else {
|
} else {
|
||||||
dfs_radarfound_action_generic(dfs, seg_id);
|
dfs_radarfound_action_generic(dfs, seg_id);
|
||||||
|
Reference in New Issue
Block a user