aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-7000.c1
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-config.h2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c7
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
110static const struct iwl_ht_params iwl7000_ht_params = { 110static 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 */
168struct iwl_ht_params { 169struct 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