From: Sachin Ahuja <sahuja@xxxxxxxxxxxxxx> When STA disconnects, cfg80211 restores the regulatory setting to world domain. For the drivers that ignore country ie, cfg80211 should remain in the default country code which is configured at driver load and should do not be restored to world reg domain. Signed-off-by: Sachin Ahuja <sahuja@xxxxxxxxxxxxxx> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx> --- v2: Removed is_all_countryie_ignore v3: Removed wdev_lock net/wireless/sme.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/net/wireless/sme.c b/net/wireless/sme.c index 4bc21a2..031ab4c 100644 --- a/net/wireless/sme.c +++ b/net/wireless/sme.c @@ -558,10 +558,23 @@ static bool cfg80211_is_all_idle(void) return is_all_idle; } +static bool cfg80211_is_all_countryie_ignore(void) +{ + struct cfg80211_registered_device *rdev; + + list_for_each_entry(rdev, &cfg80211_rdev_list, list) { + if (!(rdev->wiphy.regulatory_flags & + REGULATORY_COUNTRY_IE_IGNORE)) + return false; + } + return true; +} + static void disconnect_work(struct work_struct *work) { rtnl_lock(); - if (cfg80211_is_all_idle()) + if (cfg80211_is_all_idle() && + !cfg80211_is_all_countryie_ignore()) regulatory_hint_disconnect(); rtnl_unlock(); } -- 1.9.2 -- 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