|
@@ -495,7 +495,9 @@ static int iwlcore_init_geos(struct iwl_priv *priv)
|
|
|
sband->bitrates = &rates[IWL_FIRST_OFDM_RATE];
|
|
|
sband->n_bitrates = IWL_RATE_COUNT - IWL_FIRST_OFDM_RATE;
|
|
|
|
|
|
- iwlcore_init_ht_hw_capab(priv, &sband->ht_info, IEEE80211_BAND_5GHZ);
|
|
|
+ if (priv->cfg->sku & IWL_SKU_N)
|
|
|
+ iwlcore_init_ht_hw_capab(priv, &sband->ht_info,
|
|
|
+ IEEE80211_BAND_5GHZ);
|
|
|
|
|
|
sband = &priv->bands[IEEE80211_BAND_2GHZ];
|
|
|
sband->channels = channels;
|
|
@@ -503,7 +505,9 @@ static int iwlcore_init_geos(struct iwl_priv *priv)
|
|
|
sband->bitrates = rates;
|
|
|
sband->n_bitrates = IWL_RATE_COUNT;
|
|
|
|
|
|
- iwlcore_init_ht_hw_capab(priv, &sband->ht_info, IEEE80211_BAND_2GHZ);
|
|
|
+ if (priv->cfg->sku & IWL_SKU_N)
|
|
|
+ iwlcore_init_ht_hw_capab(priv, &sband->ht_info,
|
|
|
+ IEEE80211_BAND_2GHZ);
|
|
|
|
|
|
priv->ieee_channels = channels;
|
|
|
priv->ieee_rates = rates;
|
|
@@ -819,8 +823,9 @@ int iwl_setup_mac(struct iwl_priv *priv)
|
|
|
IEEE80211_HW_NOISE_DBM;
|
|
|
/* Default value; 4 EDCA QOS priorities */
|
|
|
hw->queues = 4;
|
|
|
- /* Enhanced value; more queues, to support 11n aggregation */
|
|
|
- hw->ampdu_queues = 12;
|
|
|
+ /* queues to support 11n aggregation */
|
|
|
+ if (priv->cfg->sku & IWL_SKU_N)
|
|
|
+ hw->ampdu_queues = 12;
|
|
|
|
|
|
hw->conf.beacon_int = 100;
|
|
|
|
|
@@ -853,6 +858,9 @@ int iwl_set_hw_params(struct iwl_priv *priv)
|
|
|
priv->hw_params.rx_buf_size = IWL_RX_BUF_SIZE_4K;
|
|
|
priv->hw_params.max_pkt_size = priv->hw_params.rx_buf_size - 256;
|
|
|
|
|
|
+ if (priv->cfg->mod_params->disable_11n)
|
|
|
+ priv->cfg->sku &= ~IWL_SKU_N;
|
|
|
+
|
|
|
/* Device-specific setup */
|
|
|
return priv->cfg->ops->lib->set_hw_params(priv);
|
|
|
}
|