diff options
author | Shahar S Matityahu <shahar.s.matityahu@intel.com> | 2019-02-10 10:42:16 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2019-03-22 12:49:04 +0200 |
commit | 07d35b4270efd08e27cdad9a8d5fa31158cfc4e8 (patch) | |
tree | c59fedcd2ca45e8d9b0ea6eda4252b8777865408 /drivers/net/wireless/intel/iwlwifi/fw/init.c | |
parent | b05d57c9b647b77edf9ac4550c493cf77c3923c7 (diff) |
iwlwifi: use sync nmi in case of init flow failure
In case of alive interrupt timeout or any failure in the init flow
the driver generates FW nmi. The driver assumes that the nmi will
generate SW interrupt. This assumption does not hold and leads to faulty
behavior in the recovery flow.
Solve this by using sync nmi, this way, even if the driver does not
receive SW interrupt, it still starts the recovery flow.
Also remove the wait queue from iwl_fwrt_stop_device since the driver is
handling the SW interrupt synchronously.
Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/fw/init.c')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/fw/init.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/init.c b/drivers/net/wireless/intel/iwlwifi/fw/init.c index 7adf4e4e841a..12310e3d2fc5 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/init.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/init.c @@ -76,7 +76,6 @@ void iwl_fw_runtime_init(struct iwl_fw_runtime *fwrt, struct iwl_trans *trans, fwrt->ops_ctx = ops_ctx; INIT_DELAYED_WORK(&fwrt->dump.wk, iwl_fw_error_dump_wk); iwl_fwrt_dbgfs_register(fwrt, dbgfs_dir); - init_waitqueue_head(&fwrt->trans->fw_halt_waitq); } IWL_EXPORT_SYMBOL(iwl_fw_runtime_init); |