]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iwlwifi: pcie: fix context info freeing
authorJohannes Berg <johannes.berg@intel.com>
Fri, 18 Jun 2021 08:01:17 +0000 (11:01 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Jul 2021 08:01:05 +0000 (10:01 +0200)
[ Upstream commit 26d18c75a7496c4c52b0b6789e713dc76ebfbc87 ]

After firmware alive, iwl_trans_pcie_gen2_fw_alive() is called
to free the context info. However, on gen3 that will then free
the context info with the wrong size.

Since we free this allocation later, let it stick around until
the device is stopped for now, freeing some of it earlier is a
separate change.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20210618105614.afb63fb8cbc1.If4968db8e09f4ce2a1d27a6d750bca3d132d7d70@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c

index af9412bd697eeb7279ac4afb677fe17f8677b528..7996b05a51c2cdd365594e9eb265784575e9300c 100644 (file)
@@ -254,7 +254,8 @@ void iwl_trans_pcie_gen2_fw_alive(struct iwl_trans *trans, u32 scd_addr)
        /* now that we got alive we can free the fw image & the context info.
         * paging memory cannot be freed included since FW will still use it
         */
-       iwl_pcie_ctxt_info_free(trans);
+       if (trans->trans_cfg->device_family < IWL_DEVICE_FAMILY_AX210)
+               iwl_pcie_ctxt_info_free(trans);
 
        /*
         * Re-enable all the interrupts, including the RF-Kill one, now that