X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=net%2Fwireless%2Freg.c;h=855bff4b3250a0eb04b094b5fca6c5512ecb35b1;hb=76d39d0a1947fee4c29976e507fb93188eaa2b38;hp=8cc6037eb2aede16e748c7afa8f1cdbf745925b2;hpb=577f99c1d08cf9cbdafd4e858dd13ff04d855090;p=linux-2.6-omap-h63xx.git diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 8cc6037eb2a..855bff4b325 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -80,6 +80,23 @@ static const struct ieee80211_channel_range ieee80211_JP_channels[] = { IEEE80211_CHAN_RADAR), }; +static const struct ieee80211_channel_range ieee80211_EU_channels[] = { + /* IEEE 802.11b/g, channels 1..13 */ + RANGE_PWR(2412, 2472, 20, 6, 0), + /* IEEE 802.11a, channel 36*/ + RANGE_PWR(5180, 5180, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN), + /* IEEE 802.11a, channel 40*/ + RANGE_PWR(5200, 5200, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN), + /* IEEE 802.11a, channel 44*/ + RANGE_PWR(5220, 5220, 23, 6, IEEE80211_CHAN_PASSIVE_SCAN), + /* IEEE 802.11a, channels 48..64 */ + RANGE_PWR(5240, 5320, 23, 6, IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_RADAR), + /* IEEE 802.11a, channels 100..140 */ + RANGE_PWR(5500, 5700, 30, 6, IEEE80211_CHAN_NO_IBSS | + IEEE80211_CHAN_RADAR), +}; + #define REGDOM(_code) \ { \ .code = __stringify(_code), \ @@ -90,6 +107,7 @@ static const struct ieee80211_channel_range ieee80211_JP_channels[] = { static const struct ieee80211_regdomain ieee80211_regdoms[] = { REGDOM(US), REGDOM(JP), + REGDOM(EU), }; @@ -136,7 +154,10 @@ static void handle_channel(struct ieee80211_channel *chan, chan->flags = flags; chan->max_antenna_gain = min(chan->orig_mag, rg->max_antenna_gain); - chan->max_power = min(chan->orig_mpwr, rg->max_power); + if (chan->orig_mpwr) + chan->max_power = min(chan->orig_mpwr, rg->max_power); + else + chan->max_power = rg->max_power; } static void handle_band(struct ieee80211_supported_band *sband,