On Wed, Oct 03, 2018 at 04:02:18PM +0800, yhchuang@xxxxxxxxxxx wrote: > +static void rtw_restore_port_cfg(struct rtw_dev *rtwdev) > +{ > + struct rtw_vif *rtwvif; > + u32 config = ~0; > + > + rcu_read_lock(); > + list_for_each_entry(rtwvif, &rtwdev->vif_list, list) list_for_each_entry_rcu > +void rtw_lps_enter_check(struct rtw_dev *rtwdev) > +{ > + struct rtw_vif *rtwvif, *lps_if; > + u8 assoc_cnt = 0; > + > + rcu_read_lock(); > + list_for_each_entry(rtwvif, &rtwdev->vif_list, list) { list_for_each_entry_rcu > +static struct country_code_to_enum_rd all_countries[] = { > + {COUNTRY_CODE_FCC, "US"}, > + {COUNTRY_CODE_IC, "US"}, > + {COUNTRY_CODE_ETSI, "EC"}, > + {COUNTRY_CODE_SPAIN, "EC"}, > + {COUNTRY_CODE_FRANCE, "EC"}, > + {COUNTRY_CODE_MKK, "JP"}, > + {COUNTRY_CODE_MKK1, "JP"}, > + {COUNTRY_CODE_ISRAEL, "EC"}, > + {COUNTRY_CODE_TELEC, "JP"}, > + {COUNTRY_CODE_MIC, "JP"}, > + {COUNTRY_CODE_GLOBAL_DOMAIN, "JP"}, > + {COUNTRY_CODE_WORLD_WIDE_13, "EC"}, > + {COUNTRY_CODE_TELEC_NETGEAR, "EC"}, > + {COUNTRY_CODE_WORLD_WIDE_13_5G_ALL, "US"}, > +}; > + > +/* Only these channels allow active > + * scan on all world regulatory domains > + */ > +#define RTW_2GHZ_CH01_11 \ > + REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0) <snip> > +static const > +struct ieee80211_regdomain *rtw_regdomain_select(struct rtw_regulatory *reg) > +{ > + switch (reg->country_code) { > + case COUNTRY_CODE_FCC: > + return &rtw_regdom_no_midband; > + case COUNTRY_CODE_IC: > + return &rtw_regdom_11; > + case COUNTRY_CODE_TELEC_NETGEAR: > + return &rtw_regdom_60_64; > + case COUNTRY_CODE_ETSI: > + case COUNTRY_CODE_SPAIN: > + case COUNTRY_CODE_FRANCE: > + case COUNTRY_CODE_ISRAEL: > + return &rtw_regdom_12_13; > + case COUNTRY_CODE_MKK: > + case COUNTRY_CODE_MKK1: > + case COUNTRY_CODE_TELEC: > + case COUNTRY_CODE_MIC: > + return &rtw_regdom_14_60_64; > + case COUNTRY_CODE_GLOBAL_DOMAIN: > + return &rtw_regdom_14; > + case COUNTRY_CODE_WORLD_WIDE_13: > + case COUNTRY_CODE_WORLD_WIDE_13_5G_ALL: > + return &rtw_regdom_12_13_5g_all; > + default: > + return &rtw_regdom_no_midband; > + } I'm not an expert on this, but I wonder if this is really needed and standard linux regd stuff can not be used and regulatory rules read from wireless-regd data-base. Thanks Stanislaw