iwlwifi: mvm: use CTS to Self if firmware allows it
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Tue, 20 Aug 2013 05:19:32 +0000 (08:19 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 2 Oct 2013 16:00:33 +0000 (18:00 +0200)
Newer firmware fixed a bug that prevented to use CTS to
self. Firmwares with API greater than 8 have this bug
fixed. Enable the feature for these firmwares only.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac-ctxt.c

index 5fe23a5..c01cf17 100644 (file)
@@ -559,8 +559,12 @@ static void iwl_mvm_mac_ctxt_cmd_common(struct iwl_mvm *mvm,
                cmd->qos_flags |= cpu_to_le32(MAC_QOS_FLG_UPDATE_EDCA);
 
        /* Don't use cts to self as the fw doesn't support it currently. */
-       if (vif->bss_conf.use_cts_prot)
+       if (vif->bss_conf.use_cts_prot) {
                cmd->protection_flags |= cpu_to_le32(MAC_PROT_FLG_TGG_PROTECT);
+               if (IWL_UCODE_API(mvm->fw->ucode_ver) >= 8)
+                       cmd->protection_flags |=
+                               cpu_to_le32(MAC_PROT_FLG_SELF_CTS_EN);
+       }
 
        /*
         * I think that we should enable these 2 flags regardless the HT PROT