diff options
author | Andrei Otcheretianski <andrei.otcheretianski@intel.com> | 2015-09-30 12:26:23 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2015-10-05 13:04:16 +0200 |
commit | dbf73d4a8bb8f4e1d1f3edd3be825692279e2ef3 (patch) | |
tree | 11e5456c541cdd87872680b1ea1697fa4b6b61fb | |
parent | iwlwifi: mvm: init card correctly on ctkill exit check (diff) | |
download | linux-dbf73d4a8bb8f4e1d1f3edd3be825692279e2ef3.tar.xz linux-dbf73d4a8bb8f4e1d1f3edd3be825692279e2ef3.zip |
iwlwifi: mvm: flush fw_dump_wk when mvm fails to start
FW dump may be triggered when running init ucode, for example due to a
sysassert. In this case fw_dump_wk may run after mvm is freed, resulting
in a kernel panic.
Fix it by flushing the work.
Fixes: 01b988a708af ("iwlwifi: mvm: allow to collect debug data when restart is disabled")
Cc: <stable@vger.kernel.org> [3.18+]
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/ops.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c index a37de3f410a0..f0cb092f980e 100644 --- a/drivers/net/wireless/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/iwlwifi/mvm/ops.c @@ -590,6 +590,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg, ieee80211_unregister_hw(mvm->hw); iwl_mvm_leds_exit(mvm); out_free: + flush_delayed_work(&mvm->fw_dump_wk); iwl_phy_db_free(mvm->phy_db); kfree(mvm->scan_cmd); if (!cfg->no_power_up_nic_in_init || !mvm->nvm_file_name) |