浏览代码

Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes

John W. Linville 11 年之前
父节点
当前提交
1bd3fa7b8c

+ 0 - 2
drivers/net/wireless/iwlwifi/Kconfig

@@ -51,7 +51,6 @@ config IWLWIFI_LEDS
 
 
 config IWLDVM
 config IWLDVM
 	tristate "Intel Wireless WiFi DVM Firmware support"
 	tristate "Intel Wireless WiFi DVM Firmware support"
-	depends on m
 	default IWLWIFI
 	default IWLWIFI
 	help
 	help
 	  This is the driver that supports the DVM firmware which is
 	  This is the driver that supports the DVM firmware which is
@@ -60,7 +59,6 @@ config IWLDVM
 
 
 config IWLMVM
 config IWLMVM
 	tristate "Intel Wireless WiFi MVM Firmware support"
 	tristate "Intel Wireless WiFi MVM Firmware support"
-	depends on m
 	help
 	help
 	  This is the driver that supports the MVM firmware which is
 	  This is the driver that supports the MVM firmware which is
 	  currently only available for 7260 and 3160 devices.
 	  currently only available for 7260 and 3160 devices.

+ 12 - 0
drivers/net/wireless/iwlwifi/dvm/rxon.c

@@ -1068,6 +1068,13 @@ int iwlagn_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
 	/* recalculate basic rates */
 	/* recalculate basic rates */
 	iwl_calc_basic_rates(priv, ctx);
 	iwl_calc_basic_rates(priv, ctx);
 
 
+	/*
+	 * force CTS-to-self frames protection if RTS-CTS is not preferred
+	 * one aggregation protection method
+	 */
+	if (!priv->hw_params.use_rts_for_aggregation)
+		ctx->staging.flags |= RXON_FLG_SELF_CTS_EN;
+
 	if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) ||
 	if ((ctx->vif && ctx->vif->bss_conf.use_short_slot) ||
 	    !(ctx->staging.flags & RXON_FLG_BAND_24G_MSK))
 	    !(ctx->staging.flags & RXON_FLG_BAND_24G_MSK))
 		ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
 		ctx->staging.flags |= RXON_FLG_SHORT_SLOT_MSK;
@@ -1473,6 +1480,11 @@ void iwlagn_bss_info_changed(struct ieee80211_hw *hw,
 	else
 	else
 		ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
 		ctx->staging.flags &= ~RXON_FLG_TGG_PROTECT_MSK;
 
 
+	if (bss_conf->use_cts_prot)
+		ctx->staging.flags |= RXON_FLG_SELF_CTS_EN;
+	else
+		ctx->staging.flags &= ~RXON_FLG_SELF_CTS_EN;
+
 	memcpy(ctx->staging.bssid_addr, bss_conf->bssid, ETH_ALEN);
 	memcpy(ctx->staging.bssid_addr, bss_conf->bssid, ETH_ALEN);
 
 
 	if (vif->type == NL80211_IFTYPE_AP ||
 	if (vif->type == NL80211_IFTYPE_AP ||

+ 2 - 2
drivers/net/wireless/iwlwifi/iwl-7000.c

@@ -67,8 +67,8 @@
 #include "iwl-agn-hw.h"
 #include "iwl-agn-hw.h"
 
 
 /* Highest firmware API version supported */
 /* Highest firmware API version supported */
-#define IWL7260_UCODE_API_MAX	9
-#define IWL3160_UCODE_API_MAX	9
+#define IWL7260_UCODE_API_MAX	10
+#define IWL3160_UCODE_API_MAX	10
 
 
 /* Oldest version we won't warn about */
 /* Oldest version we won't warn about */
 #define IWL7260_UCODE_API_OK	9
 #define IWL7260_UCODE_API_OK	9

+ 1 - 1
drivers/net/wireless/iwlwifi/iwl-8000.c

@@ -67,7 +67,7 @@
 #include "iwl-agn-hw.h"
 #include "iwl-agn-hw.h"
 
 
 /* Highest firmware API version supported */
 /* Highest firmware API version supported */
-#define IWL8000_UCODE_API_MAX	9
+#define IWL8000_UCODE_API_MAX	10
 
 
 /* Oldest version we won't warn about */
 /* Oldest version we won't warn about */
 #define IWL8000_UCODE_API_OK	8
 #define IWL8000_UCODE_API_OK	8