iwlwifi: mvm: don't send keys when entering D3
authorSara Sharon <sara.sharon@intel.com>
Sun, 1 Jul 2018 11:52:06 +0000 (14:52 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Mon, 8 Oct 2018 07:25:56 +0000 (10:25 +0300)
In the past, we needed to program the keys when entering D3. This was
since we replaced the image. However, now that there is a single
image, this is no longer needed.  Note that RSC is sent separately in
a new command.  This solves issues with newer devices that support PN
offload. Since driver re-sent the keys, the PN got zeroed and the
receiver dropped the next packets, until PN caught up again.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/d3.c

index 210be26aadaacb93e70c719cef676d9c2db743b2..fb981270f224f9d10b5b8a29813f1b361077ade4 100644 (file)
@@ -722,8 +722,10 @@ int iwl_mvm_wowlan_config_key_params(struct iwl_mvm *mvm,
 {
        struct iwl_wowlan_kek_kck_material_cmd kek_kck_cmd = {};
        struct iwl_wowlan_tkip_params_cmd tkip_cmd = {};
+       bool unified = fw_has_capa(&mvm->fw->ucode_capa,
+                                  IWL_UCODE_TLV_CAPA_CNSLDTD_D3_D0_IMG);
        struct wowlan_key_data key_data = {
-               .configure_keys = !d0i3,
+               .configure_keys = !d0i3 && !unified,
                .use_rsc_tsc = false,
                .tkip = &tkip_cmd,
                .use_tkip = false,