linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] cfg80211: avoid restoring the regulatory during disconnect
@ 2014-05-12 18:34 Rajkumar Manoharan
  2014-05-20  7:46 ` Luis R. Rodriguez
  0 siblings, 1 reply; 2+ messages in thread
From: Rajkumar Manoharan @ 2014-05-12 18:34 UTC (permalink / raw)
  To: johannes; +Cc: linville, linux-wireless, Sachin Ahuja, Rajkumar Manoharan

From: Sachin Ahuja <sahuja@codeaurora.org>

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@codeaurora.org>
Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
---
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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v3] cfg80211: avoid restoring the regulatory during disconnect
  2014-05-12 18:34 [PATCH v3] cfg80211: avoid restoring the regulatory during disconnect Rajkumar Manoharan
@ 2014-05-20  7:46 ` Luis R. Rodriguez
  0 siblings, 0 replies; 2+ messages in thread
From: Luis R. Rodriguez @ 2014-05-20  7:46 UTC (permalink / raw)
  To: Rajkumar Manoharan
  Cc: Johannes Berg, John W. Linville, linux-wireless, Sachin Ahuja

On Mon, May 12, 2014 at 11:34 AM, Rajkumar Manoharan
<rmanohar@qti.qualcomm.com> wrote:
> From: Sachin Ahuja <sahuja@codeaurora.org>
>
> 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@codeaurora.org>
> Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com>
> ---
> 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

This approach is making the assumption that regulatory hint
disconnects should only be issued for devices that use country IEs
which I do not think should the place within the SME code, can you
instead stuff this handle this in net/wireless/reg.c ? For example --
beacon hints should be cleared even though the regulatory setting on
the device is not cleared. Your patch does not address that.

  Luis

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-05-20  7:47 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-12 18:34 [PATCH v3] cfg80211: avoid restoring the regulatory during disconnect Rajkumar Manoharan
2014-05-20  7:46 ` Luis R. Rodriguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).