1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/wireless/intel/iwlwifi
Emmanuel Grumbach 094513f8a2 wifi: iwlwifi: clear trans->state earlier upon error
When the firmware crashes, we first told the op_mode and only then,
changed the transport's state. This is a problem if the op_mode's
nic_error() handler needs to send a host command: it'll see that the
transport's state still reflects that the firmware is alive.

Today, this has no consequences since we set the STATUS_FW_ERROR bit and
that will prevent sending host commands. iwl_fw_dbg_stop_restart_recording
looks at this bit to know not to send a host command for example.

To fix the hibernation, we needed to reset the firmware without having
an error and checking STATUS_FW_ERROR to see whether the firmware is
alive will no longer hold, so this change is necessary as well.

Change the flow a bit.
Change trans->state before calling the op_mode's nic_error() method and
check trans->state instead of STATUS_FW_ERROR. This will keep the
current behavior of iwl_fw_dbg_stop_restart_recording upon firmware
error, and it'll allow us to call iwl_fw_dbg_stop_restart_recording
safely even if STATUS_FW_ERROR is clear, but yet, the firmware is not
alive.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://patch.msgid.link/20240825191257.9d7427fbdfd7.Ia056ca57029a382c921d6f7b6a6b28fc480f2f22@changeid
[I missed this was a dependency for the hibernation fix, changed
 the commit message a bit accordingly]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2024-08-27 09:54:24 +02:00
..
cfg wifi: iwlwifi: bump FW API to 92 for BZ/SC devices 2024-06-26 10:28:49 +02:00
dvm wifi: iwlwifi: dvm: fix kernel-doc warnings 2024-06-26 10:35:14 +02:00
fw wifi: iwlwifi: clear trans->state earlier upon error 2024-08-27 09:54:24 +02:00
mei wifi: iwlwifi: mei: clarify iwl_mei_pldr_req() docs 2024-06-26 10:28:50 +02:00
mvm wifi: iwlwifi: mvm: don't wait for tx queues if firmware is dead 2024-08-26 17:42:38 +02:00
pcie wifi: iwlwifi: lower message level for FW buffer destination 2024-08-26 17:38:21 +02:00
tests Kbuild updates for v6.10 2024-05-18 12:39:20 -07:00
iwl-agn-hw.h
iwl-config.h wifi: iwlwifi: fix prototype mismatch kernel-doc warnings 2024-06-26 10:35:15 +02:00
iwl-context-info-gen3.h wifi: iwlwifi: Force SCU_ACTIVE for specific platforms 2024-05-06 16:33:26 +02:00
iwl-context-info.h wifi: iwlwifi: Generalize the parsing of the pnvm image 2023-06-06 13:43:06 +02:00
iwl-csr.h wifi: iwlwifi: fix remaining mistagged kernel-doc comments 2024-06-26 10:35:15 +02:00
iwl-dbg-tlv.c wifi: iwlwifi: Remove debug message 2024-07-04 13:50:06 +02:00
iwl-dbg-tlv.h wifi: iwlwifi: mvm: add a debugfs hook to clear the monitor data 2023-12-12 10:36:59 +01:00
iwl-debug.c wifi: iwlwifi: debug: fix crash in __iwl_err() 2023-04-13 16:29:58 +02:00
iwl-debug.h
iwl-devtrace-data.h wifi: iwlwifi: simplify TX tracing 2024-05-23 10:53:03 +02:00
iwl-devtrace-io.h
iwl-devtrace-iwlwifi.h wifi: iwlwifi: simplify TX tracing 2024-05-23 10:53:03 +02:00
iwl-devtrace-msg.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
iwl-devtrace-ucode.h
iwl-devtrace.c wifi: iwlwifi: refactor RX tracing 2023-12-12 10:36:59 +01:00
iwl-devtrace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
iwl-drv.c wifi: iwlwifi: remove struct iwl_trans_ops 2024-06-12 13:04:27 +02:00
iwl-drv.h wifi: iwlwifi: remove retry loops in start 2024-01-26 09:48:53 +01:00
iwl-fh.h wifi: iwlwifi: fix kernel-doc in iwl-fh.h 2024-06-26 10:35:15 +02:00
iwl-io.c wifi: iwlwifi: pcie: fix a few legacy register accesses for new devices 2024-06-26 10:28:21 +02:00
iwl-io.h
iwl-modparams.h wifi: iwlwifi: move amsdu_size parsing to iwlwifi 2024-05-29 10:34:07 +02:00
iwl-nvm-parse.c wifi: iwlwifi: mvm: don't limit VLP/AFC to UATS-enabled 2024-06-26 10:28:51 +02:00
iwl-nvm-parse.h wifi: iwlwifi: fix prototype mismatch kernel-doc warnings 2024-06-26 10:35:15 +02:00
iwl-nvm-utils.c wifi: iwlwifi: move code from iwl-eeprom-parse to dvm 2024-05-23 10:53:04 +02:00
iwl-nvm-utils.h wifi: iwlwifi: move code from iwl-eeprom-parse to dvm 2024-05-23 10:53:04 +02:00
iwl-op-mode.h wifi: iwlwifi: mvm: fix hibernation 2024-08-26 17:35:22 +02:00
iwl-phy-db.c
iwl-phy-db.h
iwl-prph.h wifi: iwlwifi: fix remaining mistagged kernel-doc comments 2024-06-26 10:35:15 +02:00
iwl-scd.h
iwl-trans.c wifi: iwlwifi: trans: make bad state warnings 2024-06-26 10:35:14 +02:00
iwl-trans.h wifi: iwlwifi: clear trans->state earlier upon error 2024-08-27 09:54:24 +02:00
Kconfig wifi: iwlwifi: add kunit test for devinfo ordering 2024-01-26 09:47:11 +01:00
Makefile wifi: iwlwifi: pcie: integrate TX queue code 2024-06-12 13:04:27 +02:00