diff options
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-7000.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-config.h | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c | 7 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-7000.c b/drivers/net/wireless/iwlwifi/iwl-7000.c index 3c34a72a5d64..5efc6d1f3512 100644 --- a/drivers/net/wireless/iwlwifi/iwl-7000.c +++ b/drivers/net/wireless/iwlwifi/iwl-7000.c | |||
@@ -108,6 +108,7 @@ static const struct iwl_base_params iwl7000_base_params = { | |||
108 | }; | 108 | }; |
109 | 109 | ||
110 | static const struct iwl_ht_params iwl7000_ht_params = { | 110 | static const struct iwl_ht_params iwl7000_ht_params = { |
111 | .stbc = true, | ||
111 | .use_rts_for_aggregation = true, /* use rts/cts protection */ | 112 | .use_rts_for_aggregation = true, /* use rts/cts protection */ |
112 | .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ), | 113 | .ht40_bands = BIT(IEEE80211_BAND_2GHZ) | BIT(IEEE80211_BAND_5GHZ), |
113 | }; | 114 | }; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-config.h b/drivers/net/wireless/iwlwifi/iwl-config.h index 0b916249669e..e05440ff5cd4 100644 --- a/drivers/net/wireless/iwlwifi/iwl-config.h +++ b/drivers/net/wireless/iwlwifi/iwl-config.h | |||
@@ -162,12 +162,14 @@ struct iwl_base_params { | |||
162 | }; | 162 | }; |
163 | 163 | ||
164 | /* | 164 | /* |
165 | * @stbc: support Tx STBC and 1*SS Rx STBC | ||
165 | * @use_rts_for_aggregation: use rts/cts protection for HT traffic | 166 | * @use_rts_for_aggregation: use rts/cts protection for HT traffic |
166 | * @ht40_bands: bitmap of bands (using %IEEE80211_BAND_*) that support HT40 | 167 | * @ht40_bands: bitmap of bands (using %IEEE80211_BAND_*) that support HT40 |
167 | */ | 168 | */ |
168 | struct iwl_ht_params { | 169 | struct iwl_ht_params { |
169 | enum ieee80211_smps_mode smps_mode; | 170 | enum ieee80211_smps_mode smps_mode; |
170 | const bool ht_greenfield_support; /* if used set to true */ | 171 | const bool ht_greenfield_support; /* if used set to true */ |
172 | const bool stbc; | ||
171 | bool use_rts_for_aggregation; | 173 | bool use_rts_for_aggregation; |
172 | u8 ht40_bands; | 174 | u8 ht40_bands; |
173 | }; | 175 | }; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c b/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c index f4a6d317a023..4380c16580eb 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c | |||
@@ -751,6 +751,13 @@ void iwl_init_ht_hw_capab(const struct iwl_cfg *cfg, | |||
751 | ht_info->ht_supported = true; | 751 | ht_info->ht_supported = true; |
752 | ht_info->cap = IEEE80211_HT_CAP_DSSSCCK40; | 752 | ht_info->cap = IEEE80211_HT_CAP_DSSSCCK40; |
753 | 753 | ||
754 | if (cfg->ht_params->stbc) { | ||
755 | ht_info->cap |= (1 << IEEE80211_HT_CAP_RX_STBC_SHIFT); | ||
756 | |||
757 | if (tx_chains > 1) | ||
758 | ht_info->cap |= IEEE80211_HT_CAP_TX_STBC; | ||
759 | } | ||
760 | |||
754 | if (iwlwifi_mod_params.amsdu_size_8K) | 761 | if (iwlwifi_mod_params.amsdu_size_8K) |
755 | ht_info->cap |= IEEE80211_HT_CAP_MAX_AMSDU; | 762 | ht_info->cap |= IEEE80211_HT_CAP_MAX_AMSDU; |
756 | 763 | ||