From: Andrei Otcheretianski Date: Wed, 30 Sep 2015 10:26:23 +0000 (+0200) Subject: iwlwifi: mvm: flush fw_dump_wk when mvm fails to start X-Git-Tag: v4.1.12-92~201^2~93 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=beb39c06a2b54ec1d2ff36cb6801eb84fde9f94c;p=users%2Fjedix%2Flinux-maple.git iwlwifi: mvm: flush fw_dump_wk when mvm fails to start Orabug: 22623804 commit dbf73d4a8bb8f4e1d1f3edd3be825692279e2ef3 upstream. 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") Signed-off-by: Andrei Otcheretianski Signed-off-by: Luca Coelho Signed-off-by: Greg Kroah-Hartman (cherry picked from commit c35a6567e963b129a0258494ef690e29c6fb44ad) Signed-off-by: Dan Duval --- diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c index 2ea01238754e..8d4f287dca3b 100644 --- a/drivers/net/wireless/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/iwlwifi/mvm/ops.c @@ -589,6 +589,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)