summaryrefslogtreecommitdiffstats
path: root/net/wireless/sme.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-01-14 20:08:20 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-15 17:02:06 -0500
commit84920e3e47f654a22b540606fb8c1ab90b870942 (patch)
tree2df8748b39b9cca53cfd2704487f6183b09d26aa /net/wireless/sme.c
parent93895757df4ebe22c98b9128b98ebf8cec972c60 (diff)
downloadlinux-84920e3e47f654a22b540606fb8c1ab90b870942.tar.gz
linux-84920e3e47f654a22b540606fb8c1ab90b870942.tar.bz2
linux-84920e3e47f654a22b540606fb8c1ab90b870942.zip
cfg80211: make regulatory_hint_11d() band specific
In practice APs do not send country IE channel triplets for channels the AP is not operating on and if they were to do so they would have to use the regulatory extension which we currently do not process. No AP has been seen in practice that does this though so just drop those country IEs. Additionally it has been noted the first series of country IE channels triplets are specific to the band the AP sends. Propagate the band on which the country IE was found on reject the country IE then if the triplets are ever oustide of the band. Although we now won't process country IE information with multiple band information we leave the intersection work as is as it is technically possible for someone to want to eventually process these type of country IEs with regulatory extensions. Cc: Jouni Malinen <jouni.malinen@atheros.com> Cc: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r--net/wireless/sme.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index 2333d78187e4..2ce5e1609a3d 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -454,6 +454,7 @@ void __cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
* - and country_ie[1] which is the IE length
*/
regulatory_hint_11d(wdev->wiphy,
+ bss->channel->band,
country_ie + 2,
country_ie[1]);
}