summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c')
-rw-r--r--drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c39
1 files changed, 37 insertions, 2 deletions
diff --git a/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c b/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c
index 86a6e72d1cff..1f905eb56b33 100644
--- a/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c
+++ b/drivers/net/wireless/nxp/mxm_wifiex/wlan_src/mlan/mlan_uap_cmdevent.c
@@ -3142,6 +3142,32 @@ static mlan_status wlan_uap_ret_get_log(pmlan_private pmpriv,
pget_info->param.stats.amsdu_tx_cnt = pmpriv->amsdu_tx_cnt;
pget_info->param.stats.msdu_in_tx_amsdu_cnt =
pmpriv->msdu_in_tx_amsdu_cnt;
+ pget_info->param.stats.rx_stuck_issue_cnt[0] =
+ wlan_le32_to_cpu(pget_log->rx_stuck_issue_cnt[0]);
+ pget_info->param.stats.rx_stuck_issue_cnt[1] =
+ wlan_le32_to_cpu(pget_log->rx_stuck_issue_cnt[1]);
+ pget_info->param.stats.rx_stuck_recovery_cnt =
+ wlan_le32_to_cpu(pget_log->rx_stuck_recovery_cnt);
+ pget_info->param.stats.rx_stuck_tsf[0] =
+ wlan_le64_to_cpu(pget_log->rx_stuck_tsf[0]);
+ pget_info->param.stats.rx_stuck_tsf[1] =
+ wlan_le64_to_cpu(pget_log->rx_stuck_tsf[1]);
+ pget_info->param.stats.tx_watchdog_recovery_cnt =
+ wlan_le32_to_cpu(pget_log->tx_watchdog_recovery_cnt);
+ pget_info->param.stats.tx_watchdog_tsf[0] =
+ wlan_le64_to_cpu(pget_log->tx_watchdog_tsf[0]);
+ pget_info->param.stats.tx_watchdog_tsf[1] =
+ wlan_le64_to_cpu(pget_log->tx_watchdog_tsf[1]);
+ pget_info->param.stats.channel_switch_ann_sent =
+ wlan_le32_to_cpu(pget_log->channel_switch_ann_sent);
+ pget_info->param.stats.channel_switch_state =
+ wlan_le32_to_cpu(pget_log->channel_switch_state);
+ pget_info->param.stats.reg_class =
+ wlan_le32_to_cpu(pget_log->reg_class);
+ pget_info->param.stats.channel_number =
+ wlan_le32_to_cpu(pget_log->channel_number);
+ pget_info->param.stats.channel_switch_mode =
+ wlan_le32_to_cpu(pget_log->channel_switch_mode);
if (pmpriv->adapter->getlog_enable) {
pget_info->param.stats.tx_frag_cnt =
wlan_le32_to_cpu(pget_log->tx_frag_cnt);
@@ -5225,7 +5251,16 @@ mlan_status wlan_ops_uap_process_event(t_void *priv)
case EVENT_RADAR_DETECTED:
PRINTM_NETINTF(MEVENT, pmpriv);
PRINTM(MEVENT, "EVENT: Radar Detected\n");
-
+ if (pmpriv->adapter->dfs_test_params.cac_restart &&
+ pmpriv->adapter->state_dfs.dfs_check_pending) {
+ wlan_11h_cancel_radar_detect(pmpriv);
+ wlan_11h_issue_radar_detect(
+ pmpriv, MNULL,
+ pmpriv->adapter->dfs_test_params.chan,
+ pmpriv->adapter->dfs_test_params.bandcfg);
+ pevent->event_id = 0;
+ break;
+ }
/* Send as passthru first, this event can cause other events */
memset(pmadapter, event_buf, 0x00, MAX_EVENT_SIZE);
pevent->bss_index = pmpriv->bss_index;
@@ -5291,6 +5326,7 @@ mlan_status wlan_ops_uap_process_event(t_void *priv)
case EVENT_CHANNEL_REPORT_RDY:
PRINTM_NETINTF(MEVENT, pmpriv);
PRINTM(MEVENT, "EVENT: Channel Report Ready\n");
+ pmpriv->adapter->dfs_test_params.cac_restart = MFALSE;
memset(pmadapter, event_buf, 0x00, MAX_EVENT_SIZE);
/* Setup event buffer */
pevent->bss_index = pmpriv->bss_index;
@@ -5304,7 +5340,6 @@ mlan_status wlan_ops_uap_process_event(t_void *priv)
/* Handle / pass event data, and free buffer */
ret = wlan_11h_handle_event_chanrpt_ready(pmpriv, pevent,
&channel);
-
if (pmpriv->intf_state_11h.is_11h_host) {
*((t_u8 *)pevent->event_buf) =
pmpriv->adapter->state_dfs.dfs_radar_found;