|
@@ -2183,47 +2183,34 @@ static void reg_modify_chan_list_for_dfs_channels(struct regulatory_channel
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
static void reg_modify_chan_list_for_indoor_channels(
|
|
|
struct wlan_regulatory_pdev_priv_obj *pdev_priv_obj)
|
|
|
{
|
|
|
enum channel_enum chan_enum;
|
|
|
struct regulatory_channel *chan_list = pdev_priv_obj->cur_chan_list;
|
|
|
|
|
|
- if (pdev_priv_obj->indoor_chan_enabled)
|
|
|
- return;
|
|
|
-
|
|
|
- if (!pdev_priv_obj->force_ssc_disable_indoor_channel) {
|
|
|
+ if (!pdev_priv_obj->indoor_chan_enabled) {
|
|
|
for (chan_enum = 0; chan_enum < NUM_CHANNELS; chan_enum++) {
|
|
|
if (REGULATORY_CHAN_INDOOR_ONLY &
|
|
|
chan_list[chan_enum].chan_flags) {
|
|
|
chan_list[chan_enum].state =
|
|
|
- CHANNEL_STATE_DISABLE;
|
|
|
+ CHANNEL_STATE_DFS;
|
|
|
chan_list[chan_enum].chan_flags |=
|
|
|
- REGULATORY_CHAN_DISABLED;
|
|
|
+ REGULATORY_CHAN_NO_IR;
|
|
|
}
|
|
|
}
|
|
|
- } else {
|
|
|
+ }
|
|
|
|
|
|
+ if (pdev_priv_obj->force_ssc_disable_indoor_channel &&
|
|
|
+ pdev_priv_obj->sap_state) {
|
|
|
for (chan_enum = 0; chan_enum < NUM_CHANNELS; chan_enum++) {
|
|
|
-
|
|
|
- if (pdev_priv_obj->sap_state) {
|
|
|
-
|
|
|
- if (REGULATORY_CHAN_INDOOR_ONLY &
|
|
|
- chan_list[chan_enum].chan_flags) {
|
|
|
- chan_list[chan_enum].state =
|
|
|
- CHANNEL_STATE_DISABLE;
|
|
|
- chan_list[chan_enum].chan_flags |=
|
|
|
- REGULATORY_CHAN_DISABLED;
|
|
|
- }
|
|
|
- } else {
|
|
|
-
|
|
|
- if (REGULATORY_CHAN_INDOOR_ONLY &
|
|
|
- chan_list[chan_enum].chan_flags) {
|
|
|
- chan_list[chan_enum].state =
|
|
|
- CHANNEL_STATE_DFS;
|
|
|
- chan_list[chan_enum].chan_flags |=
|
|
|
- REGULATORY_CHAN_NO_IR;
|
|
|
- }
|
|
|
+ if (REGULATORY_CHAN_INDOOR_ONLY &
|
|
|
+ chan_list[chan_enum].chan_flags) {
|
|
|
+ chan_list[chan_enum].state =
|
|
|
+ CHANNEL_STATE_DISABLE;
|
|
|
+ chan_list[chan_enum].chan_flags |=
|
|
|
+ REGULATORY_CHAN_DISABLED;
|
|
|
}
|
|
|
}
|
|
|
}
|