diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2015-04-13 05:05:48 -0400 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2015-04-19 10:06:56 -0400 |
commit | 145d90b6b3a3f00d8b66d0e118b4995b64b74fef (patch) | |
tree | a5e7dea0c15ea5a2502412bcb14d4685dc555268 | |
parent | d44c3fe68cc7e435ebc06d5b6ac260a5c1b495f8 (diff) |
iwlwifi: mvm: don't stop the FW monitor too early
When the delay paramatere is provided, we need to stop
the collection only after the delay has elapsed.
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/fw.c | 9 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/ops.c | 10 |
2 files changed, 10 insertions, 9 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/fw.c b/drivers/net/wireless/iwlwifi/mvm/fw.c index bc5eac4960e1..9c28fe72fd74 100644 --- a/drivers/net/wireless/iwlwifi/mvm/fw.c +++ b/drivers/net/wireless/iwlwifi/mvm/fw.c | |||
@@ -494,15 +494,6 @@ int iwl_mvm_fw_dbg_collect_desc(struct iwl_mvm *mvm, | |||
494 | 494 | ||
495 | mvm->fw_dump_desc = desc; | 495 | mvm->fw_dump_desc = desc; |
496 | 496 | ||
497 | /* stop recording */ | ||
498 | if (mvm->cfg->device_family == IWL_DEVICE_FAMILY_7000) { | ||
499 | iwl_set_bits_prph(mvm->trans, MON_BUFF_SAMPLE_CTL, 0x100); | ||
500 | } else { | ||
501 | iwl_write_prph(mvm->trans, DBGC_IN_SAMPLE, 0); | ||
502 | /* wait before we collect the data till the DBGC stop */ | ||
503 | udelay(100); | ||
504 | } | ||
505 | |||
506 | queue_delayed_work(system_wq, &mvm->fw_dump_wk, delay); | 497 | queue_delayed_work(system_wq, &mvm->fw_dump_wk, delay); |
507 | 498 | ||
508 | return 0; | 499 | return 0; |
diff --git a/drivers/net/wireless/iwlwifi/mvm/ops.c b/drivers/net/wireless/iwlwifi/mvm/ops.c index a08b03d58d4b..1c66297d82c0 100644 --- a/drivers/net/wireless/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/iwlwifi/mvm/ops.c | |||
@@ -865,6 +865,16 @@ static void iwl_mvm_fw_error_dump_wk(struct work_struct *work) | |||
865 | return; | 865 | return; |
866 | 866 | ||
867 | mutex_lock(&mvm->mutex); | 867 | mutex_lock(&mvm->mutex); |
868 | |||
869 | /* stop recording */ | ||
870 | if (mvm->cfg->device_family == IWL_DEVICE_FAMILY_7000) { | ||
871 | iwl_set_bits_prph(mvm->trans, MON_BUFF_SAMPLE_CTL, 0x100); | ||
872 | } else { | ||
873 | iwl_write_prph(mvm->trans, DBGC_IN_SAMPLE, 0); | ||
874 | /* wait before we collect the data till the DBGC stop */ | ||
875 | udelay(100); | ||
876 | } | ||
877 | |||
868 | iwl_mvm_fw_error_dump(mvm); | 878 | iwl_mvm_fw_error_dump(mvm); |
869 | 879 | ||
870 | /* start recording again if the firmware is not crashed */ | 880 | /* start recording again if the firmware is not crashed */ |