|
@@ -1978,6 +1978,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
|
|
struct wlan_objmgr_vdev *vdev;
|
|
struct wlan_objmgr_vdev *vdev;
|
|
struct qdf_mac_addr sta_addr = {0};
|
|
struct qdf_mac_addr sta_addr = {0};
|
|
qdf_freq_t dfs_freq;
|
|
qdf_freq_t dfs_freq;
|
|
|
|
+ uint8_t sta_cnt;
|
|
|
|
|
|
dev = context;
|
|
dev = context;
|
|
if (!dev) {
|
|
if (!dev) {
|
|
@@ -2989,6 +2990,16 @@ QDF_STATUS hdd_hostapd_sap_event_cb(struct sap_event *sap_event,
|
|
hdd_dcs_hostapd_set_chan(
|
|
hdd_dcs_hostapd_set_chan(
|
|
hdd_ctx, adapter->vdev_id,
|
|
hdd_ctx, adapter->vdev_id,
|
|
adapter->session.ap.operating_chan_freq);
|
|
adapter->session.ap.operating_chan_freq);
|
|
|
|
+
|
|
|
|
+ /* Added the sta cnt check as we don't support sta+sap+nan
|
|
|
|
+ * today. But this needs to be re-visited when we start
|
|
|
|
+ * supporting this combo.
|
|
|
|
+ */
|
|
|
|
+ sta_cnt = policy_mgr_mode_specific_connection_count(hdd_ctx->psoc,
|
|
|
|
+ PM_STA_MODE,
|
|
|
|
+ NULL);
|
|
|
|
+ if (!sta_cnt)
|
|
|
|
+ policy_mgr_nan_sap_post_enable_conc_check(hdd_ctx->psoc);
|
|
policy_mgr_check_sap_go_force_scc(
|
|
policy_mgr_check_sap_go_force_scc(
|
|
hdd_ctx->psoc, adapter->vdev,
|
|
hdd_ctx->psoc, adapter->vdev,
|
|
ap_ctx->sap_context->csa_reason);
|
|
ap_ctx->sap_context->csa_reason);
|
|
@@ -3592,7 +3603,7 @@ QDF_STATUS hdd_sap_restart_with_channel_switch(struct wlan_objmgr_psoc *psoc,
|
|
|
|
|
|
ret = hdd_softap_set_channel_change(dev, target_chan_freq,
|
|
ret = hdd_softap_set_channel_change(dev, target_chan_freq,
|
|
target_bw, forced);
|
|
target_bw, forced);
|
|
- if (ret) {
|
|
|
|
|
|
+ if (ret && ret != -EBUSY) {
|
|
hdd_err("channel switch failed");
|
|
hdd_err("channel switch failed");
|
|
hdd_stop_sap_set_tx_power(psoc, ap_adapter);
|
|
hdd_stop_sap_set_tx_power(psoc, ap_adapter);
|
|
}
|
|
}
|