summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-01-14 13:27:46 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-01-14 18:16:56 -0500
commita0f2e0fca1e72c1de07e834be05b61d33842253e (patch)
tree02f1ecd172092dec6dec9a13806daccf3a53b290
parentc99445b14054e0c4ed4715df1dad1fc608cbab46 (diff)
downloadlinux-a0f2e0fca1e72c1de07e834be05b61d33842253e.tar.gz
linux-a0f2e0fca1e72c1de07e834be05b61d33842253e.tar.bz2
linux-a0f2e0fca1e72c1de07e834be05b61d33842253e.zip
cfg80211: Ingore country IEs with a zero set of number of channels
Previous to this and the last patch, titled, "cfg80211: Fix 2 GHz subband calculation for country IEs" we would end up treating these IEs as single channel units. These are in fact just bogus IE triplets so ignore the entire IE if these are found. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/wireless/reg.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index f0859eada758..f3b77f7b8e3d 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -585,6 +585,9 @@ static int max_subband_chan(int orig_cur_chan,
break;
}
+ if (triplet->chans.num_channels == 0)
+ return 0;
+
/* Monitonically increasing channel order */
if (triplet->chans.first_channel <= end_subband_chan)
return 0;
@@ -737,6 +740,9 @@ static struct ieee80211_regdomain *country_ie_2_rd(
break;
}
+ if (triplet->chans.num_channels == 0)
+ return NULL;
+
/* 2 GHz */
if (triplet->chans.first_channel <= 14)
end_channel = triplet->chans.first_channel +