|
@@ -99,6 +99,7 @@ static QDF_STATUS vdev_mgr_start_param_update(
|
|
|
bool set_agile = false, dfs_set_cfreq2 = false;
|
|
|
struct wlan_objmgr_vdev *vdev;
|
|
|
struct wlan_objmgr_pdev *pdev;
|
|
|
+ enum QDF_OPMODE op_mode;
|
|
|
|
|
|
vdev = mlme_obj->vdev;
|
|
|
if (!vdev) {
|
|
@@ -121,12 +122,17 @@ static QDF_STATUS vdev_mgr_start_param_update(
|
|
|
des_chan = wlan_vdev_mlme_get_des_chan(vdev);
|
|
|
param->vdev_id = wlan_vdev_get_id(vdev);
|
|
|
|
|
|
- tgt_dfs_set_current_channel(pdev, des_chan->ch_freq,
|
|
|
- des_chan->ch_flags,
|
|
|
- des_chan->ch_flagext,
|
|
|
- des_chan->ch_ieee,
|
|
|
- des_chan->ch_freq_seg1,
|
|
|
- des_chan->ch_freq_seg2);
|
|
|
+ op_mode = wlan_vdev_mlme_get_opmode(vdev);
|
|
|
+ if ((op_mode == QDF_SAP_MODE || op_mode == QDF_P2P_GO_MODE) &&
|
|
|
+ (WLAN_REG_IS_5GHZ_CH_FREQ(des_chan->ch_freq) ||
|
|
|
+ WLAN_REG_IS_49GHZ_FREQ(des_chan->ch_freq) ||
|
|
|
+ WLAN_REG_IS_6GHZ_CHAN_FREQ(des_chan->ch_freq)))
|
|
|
+ tgt_dfs_set_current_channel(pdev, des_chan->ch_freq,
|
|
|
+ des_chan->ch_flags,
|
|
|
+ des_chan->ch_flagext,
|
|
|
+ des_chan->ch_ieee,
|
|
|
+ des_chan->ch_freq_seg1,
|
|
|
+ des_chan->ch_freq_seg2);
|
|
|
|
|
|
param->beacon_interval = mlme_obj->proto.generic.beacon_interval;
|
|
|
param->dtim_period = mlme_obj->proto.generic.dtim_period;
|
|
@@ -145,7 +151,8 @@ static QDF_STATUS vdev_mgr_start_param_update(
|
|
|
param->channel.mhz = des_chan->ch_freq;
|
|
|
param->channel.half_rate = mlme_obj->mgmt.rate_info.half_rate;
|
|
|
param->channel.quarter_rate = mlme_obj->mgmt.rate_info.quarter_rate;
|
|
|
- param->channel.dfs_set = utils_is_dfs_ch(pdev, param->channel.chan_id);
|
|
|
+ param->channel.dfs_set = wlan_reg_is_dfs_for_freq(pdev,
|
|
|
+ des_chan->ch_freq);
|
|
|
param->channel.dfs_set_cfreq2 = utils_is_dfs_cfreq2_ch(pdev);
|
|
|
param->channel.is_chan_passive =
|
|
|
utils_is_dfs_ch(pdev, param->channel.chan_id);
|