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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Nov 2019 08:53:40 +0000 (09:53 +0100)
[ Upstream commit 8c7fd6a365eb5b2647b2c01918730d0a485b9f85 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mvm/d3.c

index 207d8ae1e1160d6239a537981d30e659161fc40d..19052efe53f1292891dc0f38a2f932658b9c5fea 100644 (file)
@@ -935,8 +935,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,