aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>2008-05-29 04:35:24 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-03 15:00:26 -0400
commit4d38c2e8ea7589f546244a1673b8171455283fcb (patch)
treeb0cdb5f59de8e8d1c85678d6de6e653ee3b304aa /drivers
parent9306102ea5696a3815f8d24ac0c0fbd1e19be7d3 (diff)
iwlwifi: disable FAT channel when not permitted
This patch disables FAT channel when it is not permitted according to the EEPROM. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index 010085aee5d4..c9bbfbb8cfa0 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -486,6 +486,25 @@ static int iwlcore_init_geos(struct iwl_priv *priv)
486 if (ch->flags & EEPROM_CHANNEL_RADAR) 486 if (ch->flags & EEPROM_CHANNEL_RADAR)
487 geo_ch->flags |= IEEE80211_CHAN_RADAR; 487 geo_ch->flags |= IEEE80211_CHAN_RADAR;
488 488
489 switch (ch->fat_extension_channel) {
490 case HT_IE_EXT_CHANNEL_ABOVE:
491 /* only above is allowed, disable below */
492 geo_ch->flags |= IEEE80211_CHAN_NO_FAT_BELOW;
493 break;
494 case HT_IE_EXT_CHANNEL_BELOW:
495 /* only below is allowed, disable above */
496 geo_ch->flags |= IEEE80211_CHAN_NO_FAT_ABOVE;
497 break;
498 case HT_IE_EXT_CHANNEL_NONE:
499 /* fat not allowed: disable both*/
500 geo_ch->flags |= (IEEE80211_CHAN_NO_FAT_ABOVE |
501 IEEE80211_CHAN_NO_FAT_BELOW);
502 break;
503 case HT_IE_EXT_CHANNEL_MAX:
504 /* both above and below are permitted */
505 break;
506 }
507
489 if (ch->max_power_avg > priv->max_channel_txpower_limit) 508 if (ch->max_power_avg > priv->max_channel_txpower_limit)
490 priv->max_channel_txpower_limit = 509 priv->max_channel_txpower_limit =
491 ch->max_power_avg; 510 ch->max_power_avg;