Skip to content

Commit fb7f54a

Browse files
committed
wifi: iwlwifi: mvm: pause TCM on fast resume
Not pausing it means that we can have the TCM work queued into a non-freezable workqueue, which, in resume, is re-activated before the driver's resume is called. The TCM work might send commands to the FW before we resumed the device, leading to an assert. Closes: https://lore.kernel.org/linux-wireless/[email protected]/ Tested-by: Chris Bainbridge <[email protected]> Fixes: e8bb19c ("wifi: iwlwifi: support fast resume") Reviewed-by: Johannes Berg <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20260129212650.05621f3faedb.I44df9cf9183b5143df8078131e0d87c0fd7e1763@changeid
1 parent 5ff6410 commit fb7f54a

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

  • drivers/net/wireless/intel/iwlwifi/mvm

drivers/net/wireless/intel/iwlwifi/mvm/d3.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
22
/*
3-
* Copyright (C) 2012-2014, 2018-2025 Intel Corporation
3+
* Copyright (C) 2012-2014, 2018-2026 Intel Corporation
44
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH
55
* Copyright (C) 2016-2017 Intel Deutschland GmbH
66
*/
@@ -3239,6 +3239,8 @@ void iwl_mvm_fast_suspend(struct iwl_mvm *mvm)
32393239

32403240
IWL_DEBUG_WOWLAN(mvm, "Starting fast suspend flow\n");
32413241

3242+
iwl_mvm_pause_tcm(mvm, true);
3243+
32423244
mvm->fast_resume = true;
32433245
set_bit(IWL_MVM_STATUS_IN_D3, &mvm->status);
32443246

@@ -3295,6 +3297,8 @@ int iwl_mvm_fast_resume(struct iwl_mvm *mvm)
32953297
mvm->trans->state = IWL_TRANS_NO_FW;
32963298
}
32973299

3300+
iwl_mvm_resume_tcm(mvm);
3301+
32983302
out:
32993303
clear_bit(IWL_MVM_STATUS_IN_D3, &mvm->status);
33003304
mvm->fast_resume = false;

0 commit comments

Comments
 (0)