Hi Dan, On Tue, 2010-03-09 at 14:05 -0800, Daniel Halperin wrote: > It turns out that disabling WIPHY_FLAG_STRICT_REGULATORY: > > --- a/drivers/net/wireless/iwlwifi/iwl-agn.c > +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c > @@ -2632,7 +2632,7 @@ static int iwl_mac_setup_register(struct iwl_priv *priv) > BIT(NL80211_IFTYPE_STATION) | > BIT(NL80211_IFTYPE_ADHOC); > > - hw->wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY | > + hw->wiphy->flags |= //WIPHY_FLAG_STRICT_REGULATORY | > WIPHY_FLAG_DISABLE_BEACON_HINTS; > > /* > > also fixes the problem; in reality this is a hack. It does seem to keep the proper driver-set regulatory limits even when I switch modes or channels or CRDA domains. This is because iwl_mac_setup_register() happens after the eeprom is read in iwl-agn.c, and thus the regulatory flags (chan->orig_flags) are pegged and thus stay set properly throughout the run. But it seems like the right approach is actually to do what ath/regd.c does and apply the custom regulatory domain. For this I think we need to set WIPHY_FLAG_CUSTOM_REGULATORY instead of WIPHY_FLAG_STRICT_REGULATORY. Looking closer it actually look as though this is a typo that slipped in with "cfg80211: convert bools to flags" where "hw->wiphy->custom_regulatory = true" was translated to "hw->wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY" by mistake. Can you please try by replacing WIPHY_FLAG_STRICT_REGULATORY with WIPHY_FLAG_CUSTOM_REGULATORY instead? Reinette -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html