All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ilan Peer <ilan.peer@intel.com>
To: linux-wireless@vger.kernel.org
Cc: wireless-regdb@lists.infradead.org, Ilan Peer <ilan.peer@intel.com>
Subject: [PATCH v2 6/6] mac80211: Enable initiating radiation on indoor channels
Date: Tue,  3 Dec 2013 21:16:06 +0200	[thread overview]
Message-ID: <1386098166-24196-7-git-send-email-ilan.peer@intel.com> (raw)
In-Reply-To: <1386098166-24196-1-git-send-email-ilan.peer@intel.com>

Allow active scanning and frame injection on channels marked with
IEEE80211_CHAN_NO_IR iff the channel is also marked with
IEEE80211_CHAN_INDOOR_ONLY and the wireless core thinks that it
operates in an indoor environment.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
---
 net/mac80211/scan.c |    8 +++-----
 net/mac80211/tx.c   |    2 +-
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index 4d73c46..fd4f58a 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -525,8 +525,7 @@ static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
 		/* We need to ensure power level is at max for scanning. */
 		ieee80211_hw_config(local, 0);
 
-		if ((req->channels[0]->flags &
-		     IEEE80211_CHAN_NO_IR) ||
+		if (!regulatory_ir_allowed(req->channels[0]) ||
 		    !local->scan_req->n_ssids) {
 			next_delay = IEEE80211_PASSIVE_CHANNEL_TIME;
 		} else {
@@ -572,7 +571,7 @@ ieee80211_scan_get_channel_time(struct ieee80211_channel *chan)
 	 * TODO: channel switching also consumes quite some time,
 	 * add that delay as well to get a better estimation
 	 */
-	if (chan->flags & IEEE80211_CHAN_NO_IR)
+	if (!regulatory_ir_allowed(chan))
 		return IEEE80211_PASSIVE_CHANNEL_TIME;
 	return IEEE80211_PROBE_DELAY + IEEE80211_CHANNEL_TIME;
 }
@@ -696,8 +695,7 @@ static void ieee80211_scan_state_set_channel(struct ieee80211_local *local,
 	 *
 	 * In any case, it is not necessary for a passive scan.
 	 */
-	if (chan->flags & IEEE80211_CHAN_NO_IR ||
-	    !local->scan_req->n_ssids) {
+	if (!regulatory_ir_allowed(chan) || !local->scan_req->n_ssids) {
 		*next_delay = IEEE80211_PASSIVE_CHANNEL_TIME;
 		local->next_scan_state = SCAN_DECISION;
 		return;
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 6d59e21..596caa8 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1727,7 +1727,7 @@ netdev_tx_t ieee80211_monitor_start_xmit(struct sk_buff *skb,
 	 * radar detection by itself. We can do that later by adding a
 	 * monitor flag interfaces used for AP support.
 	 */
-	if ((chan->flags & (IEEE80211_CHAN_NO_IR | IEEE80211_CHAN_RADAR)))
+	if (!regulatory_ir_allowed(chan) || chan->flags & IEEE80211_CHAN_RADAR)
 		goto fail_rcu;
 
 	ieee80211_xmit(sdata, skb, chan->band);
-- 
1.7.10.4


  parent reply	other threads:[~2013-12-03 19:15 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03 19:16 [PATCH v2 0/6] Enable additional channels for use Ilan Peer
2013-12-03 19:16 ` [PATCH v2 1/6] cfg80211: Add indoor only and GO concurrent channel attributes Ilan Peer
2013-12-03 19:16 ` [PATCH v2 2/6] cfg80211: Add Kconfig option for cellular BS hints Ilan Peer
2013-12-03 19:16 ` [PATCH v2 3/6] cfg80211: Enable GO operation on additional channels Ilan Peer
2013-12-05 13:09   ` Johannes Berg
2013-12-05 13:09     ` [wireless-regdb] " Johannes Berg
2013-12-05 13:57   ` [PATCH v3 " Ilan Peer
2013-12-03 19:16 ` [PATCH v2 4/6] cfg80211: Add an option to hint indoor operation Ilan Peer
2013-12-04  9:16   ` [PATCH v3 " Ilan Peer
2013-12-03 19:16 ` [PATCH v2 5/6] cfg80211: Enable GO operation on indoor channels Ilan Peer
2013-12-05 13:10   ` Johannes Berg
2013-12-05 13:10     ` [wireless-regdb] " Johannes Berg
2013-12-05 14:00   ` [PATCH v3 " Ilan Peer
2013-12-03 19:16 ` Ilan Peer [this message]
  -- strict thread matches above, loose matches on Subject: below --
2014-01-15 15:52 [PATCH v2 0/6] Enable additional channels for use Ilan Peer
2014-01-15 15:52 ` [PATCH v2 6/6] mac80211: Enable initiating radiation on indoor channels Ilan Peer
2014-01-25  0:21   ` Luis R. Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1386098166-24196-7-git-send-email-ilan.peer@intel.com \
    --to=ilan.peer@intel.com \
    --cc=linux-wireless@vger.kernel.org \
    --cc=wireless-regdb@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.