Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4d38c2e8 authored by Emmanuel Grumbach's avatar Emmanuel Grumbach Committed by John W. Linville
Browse files

iwlwifi: disable FAT channel when not permitted



This patch disables FAT channel when it is not permitted according to
the EEPROM.

Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9306102e
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -486,6 +486,25 @@ static int iwlcore_init_geos(struct iwl_priv *priv)
			if (ch->flags & EEPROM_CHANNEL_RADAR)
				geo_ch->flags |= IEEE80211_CHAN_RADAR;

			switch (ch->fat_extension_channel) {
			case HT_IE_EXT_CHANNEL_ABOVE:
				/* only above is allowed, disable below */
				geo_ch->flags |= IEEE80211_CHAN_NO_FAT_BELOW;
				break;
			case HT_IE_EXT_CHANNEL_BELOW:
				/* only below is allowed, disable above */
				geo_ch->flags |= IEEE80211_CHAN_NO_FAT_ABOVE;
				break;
			case HT_IE_EXT_CHANNEL_NONE:
				/* fat not allowed: disable both*/
				geo_ch->flags |= (IEEE80211_CHAN_NO_FAT_ABOVE |
						  IEEE80211_CHAN_NO_FAT_BELOW);
				break;
			case HT_IE_EXT_CHANNEL_MAX:
				/* both above and below are permitted */
				break;
			}

			if (ch->max_power_avg > priv->max_channel_txpower_limit)
				priv->max_channel_txpower_limit =
				    ch->max_power_avg;