diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2009-01-22 18:05:47 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-01-29 16:01:15 -0500 |
commit | 5eebade608d695e30e89d4c5ca6136a58f24ed14 (patch) | |
tree | e5c8319f8fb207e4a283809dc8363fe2fd227e2b /net/wireless/reg.c | |
parent | 34f573473a659f8c2727d8d408e17b241900c28e (diff) |
cfg80211: process user requests only after previous user/driver/core requests
This prevents user regulatory changes to be considered prior to previous
pending user, core or driver requests which have not be applied.
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.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index d663795d6944..4d2d2d4cc0d4 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c | |||
@@ -1091,6 +1091,16 @@ static int ignore_request(struct wiphy *wiphy, enum reg_set_by set_by, | |||
1091 | if (last_request->initiator == REGDOM_SET_BY_USER && | 1091 | if (last_request->initiator == REGDOM_SET_BY_USER && |
1092 | last_request->intersect) | 1092 | last_request->intersect) |
1093 | return -EOPNOTSUPP; | 1093 | return -EOPNOTSUPP; |
1094 | /* Process user requests only after previous user/driver/core | ||
1095 | * requests have been processed */ | ||
1096 | if (last_request->initiator == REGDOM_SET_BY_CORE || | ||
1097 | last_request->initiator == REGDOM_SET_BY_DRIVER || | ||
1098 | last_request->initiator == REGDOM_SET_BY_USER) { | ||
1099 | if (!alpha2_equal(last_request->alpha2, | ||
1100 | cfg80211_regdomain->alpha2)) | ||
1101 | return -EAGAIN; | ||
1102 | } | ||
1103 | |||
1094 | return 0; | 1104 | return 0; |
1095 | } | 1105 | } |
1096 | 1106 | ||