2017-04-05 11:39:04

by Ganapathi Bhat

[permalink] [raw]
Subject: [PATCH v2] mwifiex: apply radar flag

From: Karthik Ananthapadmanabha <[email protected]>

When IEEE80211_CHAN_RADAR is set by cfg80211, passive scan must be
performed. In mwifiex,active scan is performed even though flag is
set from cfg80211. mwifiex_reg_apply_radar_flags() function added
in this patch correctly uses radar flag.

Signed-off-by: Karthik Ananthapadmanabha <[email protected]>
Signed-off-by: Amitkumar Karwar <[email protected]>
Signed-off-by: Ganapathi Bhat <[email protected]>
---
v3: corrected author name
---
drivers/net/wireless/marvell/mwifiex/cfg80211.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 1e3bd43..44d0617 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -594,6 +594,24 @@ int mwifiex_send_domain_info_cmd_fw(struct wiphy *wiphy)
return 0;
}

+static void mwifiex_reg_apply_radar_flags(struct wiphy *wiphy)
+{
+ struct ieee80211_supported_band *sband;
+ struct ieee80211_channel *chan;
+ unsigned int i;
+
+ if (!wiphy->bands[NL80211_BAND_5GHZ])
+ return;
+ sband = wiphy->bands[NL80211_BAND_5GHZ];
+
+ for (i = 0; i < sband->n_channels; i++) {
+ chan = &sband->channels[i];
+ if ((!(chan->flags & IEEE80211_CHAN_DISABLED)) &&
+ (chan->flags & IEEE80211_CHAN_RADAR))
+ chan->flags |= IEEE80211_CHAN_NO_IR;
+ }
+}
+
/*
* CFG802.11 regulatory domain callback function.
*
@@ -613,6 +631,7 @@ static void mwifiex_reg_notifier(struct wiphy *wiphy,
mwifiex_dbg(adapter, INFO,
"info: cfg80211 regulatory domain callback for %c%c\n",
request->alpha2[0], request->alpha2[1]);
+ mwifiex_reg_apply_radar_flags(wiphy);

switch (request->initiator) {
case NL80211_REGDOM_SET_BY_DRIVER:
--
1.9.1


2017-04-05 12:55:12

by Kalle Valo

[permalink] [raw]
Subject: Re: [v2] mwifiex: apply radar flag

Ganapathi Bhat <[email protected]> wrote:
> From: Karthik Ananthapadmanabha <[email protected]>
>
> When IEEE80211_CHAN_RADAR is set by cfg80211, passive scan must be
> performed. In mwifiex,active scan is performed even though flag is
> set from cfg80211. mwifiex_reg_apply_radar_flags() function added
> in this patch correctly uses radar flag.
>
> Signed-off-by: Karthik Ananthapadmanabha <[email protected]>
> Signed-off-by: Amitkumar Karwar <[email protected]>
> Signed-off-by: Ganapathi Bhat <[email protected]>

Patch applied to wireless-drivers-next.git, thanks.

1aed89640a89 mwifiex: apply radar flag

--
https://patchwork.kernel.org/patch/9663805/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches