mirror of
https://github.com/torvalds/linux.git
synced 2026-06-01 19:13:47 +02:00
wifi: iwlwifi: pcie: inform me when op mode leaving
Transport gen2 didn't inform ME when the op mode is leaving. Signed-off-by: Itamar Shalev <itamar.shalev@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20250709230308.abd840f5e998.I3a3fe174ea55a30daa04a0a3e9a6264913677045@changeid
This commit is contained in:
parent
48d41b7331
commit
be27286f91
|
|
@ -419,7 +419,10 @@ void iwl_trans_op_mode_leave(struct iwl_trans *trans)
|
|||
{
|
||||
might_sleep();
|
||||
|
||||
iwl_trans_pcie_op_mode_leave(trans);
|
||||
if (trans->mac_cfg->gen2)
|
||||
iwl_trans_pcie_gen2_op_mode_leave(trans);
|
||||
else
|
||||
iwl_trans_pcie_op_mode_leave(trans);
|
||||
|
||||
cancel_delayed_work_sync(&trans->restart.wk);
|
||||
|
||||
|
|
|
|||
|
|
@ -1091,6 +1091,7 @@ int iwl_trans_pcie_start_fw(struct iwl_trans *trans,
|
|||
void iwl_trans_pcie_stop_device(struct iwl_trans *trans);
|
||||
|
||||
/* common functions that are used by gen2 transport */
|
||||
void iwl_trans_pcie_gen2_op_mode_leave(struct iwl_trans *trans);
|
||||
int iwl_pcie_gen2_apm_init(struct iwl_trans *trans);
|
||||
void iwl_pcie_apm_config(struct iwl_trans *trans);
|
||||
int iwl_pcie_prepare_card_hw(struct iwl_trans *trans);
|
||||
|
|
|
|||
|
|
@ -630,3 +630,23 @@ int iwl_trans_pcie_gen2_start_fw(struct iwl_trans *trans,
|
|||
mutex_unlock(&trans_pcie->mutex);
|
||||
return ret;
|
||||
}
|
||||
|
||||
void iwl_trans_pcie_gen2_op_mode_leave(struct iwl_trans *trans)
|
||||
{
|
||||
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
|
||||
|
||||
mutex_lock(&trans_pcie->mutex);
|
||||
|
||||
/* disable interrupts - don't enable HW RF kill interrupt */
|
||||
iwl_disable_interrupts(trans);
|
||||
|
||||
iwl_pcie_gen2_apm_stop(trans, true);
|
||||
|
||||
iwl_disable_interrupts(trans);
|
||||
|
||||
iwl_pcie_disable_ict(trans);
|
||||
|
||||
mutex_unlock(&trans_pcie->mutex);
|
||||
|
||||
iwl_pcie_synchronize_irqs(trans);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user