mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 02:53:36 +02:00
Two last-minute iwlwifi fixes:
- cancel mlo_scan_work on disassoc to avoid
use-after-free/init-after-queue issues
- pause TCM work on suspend to avoid crashing
the FW (and sometimes the host) on resume
with traffic
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEpeA8sTs3M8SN2hR410qiO8sPaAAFAmmDLrMACgkQ10qiO8sP
aABvLg/6A5iP/r5QaMfAhjvE/xkKlV/2M+d0b3EfZ3KEKFm97Lv80Lk4ahMTNZVN
TvUrS9RaKFGV/BaaLYajSBGhLHuSeZkG1TjBSWki6Id6bx6st/RxRxHWz/rXbxer
9dMiCRT9LKrGuJNiERo4jg+Yh967Yh1WaHLjTs6VOO+Of4qPJuq1VwK08ZYo8kvy
mB36F96kV//8ZGHImXyV7BnvKezWt3YW73AAzSX4aY7d0Cc34EZwBo0T97tRPy5e
ISvw15+htOGmEFKdJmNacP8A7Ra7FiFzrun9fkFa1zsb+iL76d0E98fiWylW44i5
ugbSff9m3AAUbdbdnrDbVTshDTC3PwXysgnVxnO3PHZ5oJ4SWFW7jQ4r8q1qb4+o
onLasUoKIdSTlS016Q/wB3GMS44LaXmMWmzpSFz8JFVSTjSaAiII3DeFes8JyQjz
KM+HtUL2k8BDJq4TKnjKSqIaHE4xD7zhPYmyYj6mt7z5Q9wMOCcK0j1hQ146S9DD
O4qL43necZF9z5PLIkNSrfgmgAgnDShW6yb/A25pck39B4ssw9/9HqDnSeXAqFiv
M1rjeatEAeQhEJRTl+Bn+04f25scH7v0fVJ+WJC99kgMsNu+sgIflEA8BdDvXw3D
R1IMvdmGQbHvizHbagfnQdrYOGfvRCpiNn1We3/+WJ6mOHHN8UU=
=gk4F
-----END PGP SIGNATURE-----
Merge tag 'wireless-2026-02-04' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless
Johannes Berg says:
====================
Two last-minute iwlwifi fixes:
- cancel mlo_scan_work on disassoc to avoid
use-after-free/init-after-queue issues
- pause TCM work on suspend to avoid crashing
the FW (and sometimes the host) on resume
with traffic
* tag 'wireless-2026-02-04' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless:
wifi: iwlwifi: mvm: pause TCM on fast resume
wifi: iwlwifi: mld: cancel mlo_scan_start_wk
====================
Link: https://patch.msgid.link/20260204113547.159742-4-johannes@sipsolutions.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
7d6ba706ae
|
|
@ -55,8 +55,6 @@ void iwl_mld_cleanup_vif(void *data, u8 *mac, struct ieee80211_vif *vif)
|
|||
|
||||
ieee80211_iter_keys(mld->hw, vif, iwl_mld_cleanup_keys_iter, NULL);
|
||||
|
||||
wiphy_delayed_work_cancel(mld->wiphy, &mld_vif->mlo_scan_start_wk);
|
||||
|
||||
CLEANUP_STRUCT(mld_vif);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1759,6 +1759,8 @@ static int iwl_mld_move_sta_state_down(struct iwl_mld *mld,
|
|||
wiphy_work_cancel(mld->wiphy, &mld_vif->emlsr.unblock_tpt_wk);
|
||||
wiphy_delayed_work_cancel(mld->wiphy,
|
||||
&mld_vif->emlsr.check_tpt_wk);
|
||||
wiphy_delayed_work_cancel(mld->wiphy,
|
||||
&mld_vif->mlo_scan_start_wk);
|
||||
|
||||
iwl_mld_reset_cca_40mhz_workaround(mld, vif);
|
||||
iwl_mld_smps_workaround(mld, vif, true);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
|
||||
/*
|
||||
* Copyright (C) 2012-2014, 2018-2025 Intel Corporation
|
||||
* Copyright (C) 2012-2014, 2018-2026 Intel Corporation
|
||||
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH
|
||||
* Copyright (C) 2016-2017 Intel Deutschland GmbH
|
||||
*/
|
||||
|
|
@ -3239,6 +3239,8 @@ void iwl_mvm_fast_suspend(struct iwl_mvm *mvm)
|
|||
|
||||
IWL_DEBUG_WOWLAN(mvm, "Starting fast suspend flow\n");
|
||||
|
||||
iwl_mvm_pause_tcm(mvm, true);
|
||||
|
||||
mvm->fast_resume = true;
|
||||
set_bit(IWL_MVM_STATUS_IN_D3, &mvm->status);
|
||||
|
||||
|
|
@ -3295,6 +3297,8 @@ int iwl_mvm_fast_resume(struct iwl_mvm *mvm)
|
|||
mvm->trans->state = IWL_TRANS_NO_FW;
|
||||
}
|
||||
|
||||
iwl_mvm_resume_tcm(mvm);
|
||||
|
||||
out:
|
||||
clear_bit(IWL_MVM_STATUS_IN_D3, &mvm->status);
|
||||
mvm->fast_resume = false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user