aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-02-21 00:04:32 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:58 -0500
commitfff32c04f6074de0719cc46d8f488aaf746f151a (patch)
tree87fdae8d94c8ad40c6de096c6bedcc6c1cc0c402 /net/wireless/reg.c
parentcfg80211: comments style cleanup (diff)
downloadlinux-dev-fff32c04f6074de0719cc46d8f488aaf746f151a.tar.xz
linux-dev-fff32c04f6074de0719cc46d8f488aaf746f151a.zip
cfg80211: allow drivers that agree on regulatory to agree
This allows drivers that agree on regulatory to share their regulatory domain. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/reg.c')
-rw-r--r--net/wireless/reg.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 7ecb9033ad42..5456534bdf8c 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1157,6 +1157,16 @@ static int ignore_request(struct wiphy *wiphy, enum reg_set_by set_by,
return 0;
return -EALREADY;
}
+
+ /*
+ * This would happen if you unplug and plug your card
+ * back in or if you add a new device for which the previously
+ * loaded card also agrees on the regulatory domain.
+ */
+ if (last_request->initiator == REGDOM_SET_BY_DRIVER &&
+ alpha2_equal(cfg80211_regdomain->alpha2, alpha2))
+ return -EALREADY;
+
return REG_INTERSECT;
case REGDOM_SET_BY_USER:
if (last_request->initiator == REGDOM_SET_BY_COUNTRY_IE)