diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 0d810fb38d..9aea858f5a 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -7199,13 +7199,46 @@ static void hdd_init_channel_avoidance(hdd_context_t *hdd_ctx) } } + +static void hdd_lte_coex_restart_sap(hdd_adapter_t *adapter, + hdd_context_t *hdd_ctx) +{ + uint8_t restart_chan; + + restart_chan = hdd_get_safe_channel_from_pcl_and_acs_range(adapter); + if (!restart_chan) { + hdd_alert("fail to restart SAP"); + return; + } + + /* SAP restart due to unsafe channel. While restarting + * the SAP, make sure to clear acs_channel, channel to + * reset to 0. Otherwise these settings will override + * the ACS while restart. + */ + hdd_ctx->acs_policy.acs_channel = AUTO_CHANNEL_SELECT; + adapter->sessionCtx.ap.sapConfig.channel = AUTO_CHANNEL_SELECT; + + hdd_debug("sending coex indication"); + + wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, + WLAN_SVC_LTE_COEX_IND, NULL, 0); + hdd_switch_sap_channel(adapter, restart_chan); +} #else static void hdd_init_channel_avoidance(hdd_context_t *hdd_ctx) { } + static void hdd_set_thermal_level_cb(void *context, u_int8_t level) { } + +static inline void hdd_lte_coex_restart_sap(hdd_adapter_t *adapter, + hdd_context_t *hdd_ctx) +{ + hdd_debug("Channel avoidance is not enabled; Abort SAP restart"); +} #endif /* defined(FEATURE_WLAN_CH_AVOID) */ /** @@ -7260,31 +7293,6 @@ void hdd_indicate_mgmt_frame(tSirSmeMgmtFrameInd *frame_ind) frame_ind->rxRssi); } -static void hdd_lte_coex_restart_sap(hdd_adapter_t *adapter, - hdd_context_t *hdd_ctx) -{ - uint8_t restart_chan = 0; - - restart_chan = - hdd_get_safe_channel_from_pcl_and_acs_range(adapter); - if (!restart_chan) { - hdd_alert("fail to restart SAP"); - } else { - /* SAP restart due to unsafe channel. While restarting - * the SAP, make sure to clear acs_channel, channel to - * reset to 0. Otherwise these settings will override - * the ACS while restart. - */ - hdd_ctx->acs_policy.acs_channel = AUTO_CHANNEL_SELECT; - adapter->sessionCtx.ap.sapConfig.channel = - AUTO_CHANNEL_SELECT; - hdd_info("sending coex indication"); - wlan_hdd_send_svc_nlink_msg(hdd_ctx->radio_index, - WLAN_SVC_LTE_COEX_IND, NULL, 0); - hdd_switch_sap_channel(adapter, restart_chan); - } -} - void hdd_acs_response_timeout_handler(void *context) { struct hdd_external_acs_timer_context *timer_context =