summaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-05-19 17:49:47 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-05-20 14:46:37 -0400
commitbbcf3f02771e069d0e113fe9bb62c27b671abf97 (patch)
treeeeed7be72b135778c25c85ebf98560aaaf9bb6ca /net/wireless/reg.c
parenteeddfd9db3b1c50d49202d0be35aae187fa90129 (diff)
downloadlinux-stable-bbcf3f02771e069d0e113fe9bb62c27b671abf97.tar.gz
linux-stable-bbcf3f02771e069d0e113fe9bb62c27b671abf97.tar.bz2
linux-stable-bbcf3f02771e069d0e113fe9bb62c27b671abf97.zip
cfg80211: warn when wiphy_apply_custom_regulatory() does nothing
Device drivers using wiphy_apply_custom_regulatory() want some regulatory settings applied to their wiphy, if no bands were configured on the wiphy then something went wrong. 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.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 8d176a8010ba..df0ced9405d3 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1344,13 +1344,22 @@ void wiphy_apply_custom_regulatory(struct wiphy *wiphy,
const struct ieee80211_regdomain *regd)
{
enum ieee80211_band band;
+ unsigned int bands_set = 0;
mutex_lock(&cfg80211_mutex);
for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
- if (wiphy->bands[band])
- handle_band_custom(wiphy, band, regd);
+ if (!wiphy->bands[band])
+ continue;
+ handle_band_custom(wiphy, band, regd);
+ bands_set++;
}
mutex_unlock(&cfg80211_mutex);
+
+ /*
+ * no point in calling this if it won't have any effect
+ * on your device's supportd bands.
+ */
+ WARN_ON(!bands_set);
}
EXPORT_SYMBOL(wiphy_apply_custom_regulatory);