linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Luca Coelho <luca@coelho.fi>
To: kvalo@codeaurora.org
Cc: linux-wireless@vger.kernel.org,
	Shahar S Matityahu <shahar.s.matityahu@intel.com>,
	Luca Coelho <luciano.coelho@intel.com>
Subject: [PATCH 15/21] iwlwifi: trigger dump on assert prior to setting the device up
Date: Sun, 27 Jan 2019 12:19:02 +0200	[thread overview]
Message-ID: <20190127101908.6428-16-luca@coelho.fi> (raw)
In-Reply-To: <20190127101908.6428-1-luca@coelho.fi>

From: Shahar S Matityahu <shahar.s.matityahu@intel.com>

In the regular flow, when we receive an assert, ieee80211_reconfig is
called which reconfig the driver using iwl_mvm_mac_start.
iwl_mvm_mac_start is clearing the restart bit and does dump collection.

Prior to setting the device up, ieee80211_reconfig does not call
iwl_mvm_mac_start since there is nothing to reconfig and we miss the
dump collection of the assert.

solve it by checking the restart bit before we stop the device
and trigger a dump collection in case it is set.

note that we don't need to do it in the fmac case since in fmac
assert flow in iwl_fmac_nic_error we call iwl_fw_dbg_collect_desc
so we can be sure that there will a dump collection in
iwl_fmac_stop_device.

Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
---
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
index ac526b412aa6..12e9ecc3ee27 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h
@@ -1997,6 +1997,16 @@ static inline u32 iwl_mvm_flushable_queues(struct iwl_mvm *mvm)
 static inline void iwl_mvm_stop_device(struct iwl_mvm *mvm)
 {
 	lockdep_assert_held(&mvm->mutex);
+	/* If IWL_MVM_STATUS_HW_RESTART_REQUESTED bit is set then we received
+	 * an assert. Since we failed to bring the interface up, mac80211
+	 * will not attempt to reconfig the device,
+	 * which handles the dump collection in assert flow,
+	 * so trigger dump collection here.
+	 */
+	if (test_and_clear_bit(IWL_MVM_STATUS_HW_RESTART_REQUESTED,
+			       &mvm->status))
+		iwl_fw_dbg_collect_desc(&mvm->fwrt, &iwl_dump_desc_assert,
+					false, 0);
 	/* calling this function without using dump_start/end since at this
 	 * point we already hold the op mode mutex
 	 */
-- 
2.20.1


  parent reply	other threads:[~2019-01-27 10:20 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-27 10:18 [PATCH 00/21] iwlwifi: updates intended for v5.1 2019-01-27 Luca Coelho
2019-01-27 10:18 ` [PATCH 01/21] iwlwifi: mvm: fix A-MPDU reference assignment Luca Coelho
2019-01-27 10:18 ` [PATCH 02/21] iwlwifi: mvm: get rid of tx_path_lock Luca Coelho
2019-01-27 10:18 ` [PATCH 03/21] iwlwifi: remove TOF implementation Luca Coelho
2019-01-27 10:18 ` [PATCH 04/21] iwlwifi: dvm: remove useless condition Luca Coelho
2019-01-27 10:18 ` [PATCH 05/21] iwlwifi: pcie: use u32* argument to iwl_trans_get_fw_monitor_len() Luca Coelho
2019-01-27 10:18 ` [PATCH 06/21] iwlwifi: mvm: Disconnect on large beacon loss Luca Coelho
2019-01-27 10:18 ` [PATCH 07/21] iwlwifi: mvm: add location APIs Luca Coelho
2019-01-27 10:18 ` [PATCH 08/21] iwlwifi: mvm: implement CSI reporting Luca Coelho
2019-01-27 10:18 ` [PATCH 09/21] iwlwifi: mvm: Change FW channel info API Luca Coelho
2019-01-27 10:18 ` [PATCH 10/21] iwlwifi: mvm: freeze management TXQ timer when station goes to sleep Luca Coelho
2019-01-27 10:18 ` [PATCH 11/21] iwlwifi: mvm: disable completely low latency mode with debugfs Luca Coelho
2019-01-27 10:18 ` [PATCH 12/21] iwlwifi: update product name for 9260 and 9560 Luca Coelho
2019-01-27 10:19 ` [PATCH 13/21] iwlwifi: mvm: document monitor mode reorder buffer bypass Luca Coelho
2019-01-27 10:19 ` [PATCH 14/21] iwlwifi: mvm: include configured sniffer AID in radiotap Luca Coelho
2019-01-27 10:19 ` Luca Coelho [this message]
2019-01-27 10:19 ` [PATCH 16/21] iwlwifi: mvm: update firmware when MU EDCA params change Luca Coelho
2019-01-27 10:19 ` [PATCH 17/21] iwlwifi: dbg_ini: allocate dram buffer with proper flags Luca Coelho
2019-01-27 10:19 ` [PATCH 18/21] iwlwifi: dbg_ini: properly handle ini user trigger Luca Coelho
2019-01-27 10:19 ` [PATCH 19/21] iwlwifi: dbg_ini: retrieve dump_delay value properly Luca Coelho
2019-01-27 10:19 ` [PATCH 20/21] iwlwifi: dbg_ini: set dump mask BIT(n) instead of n Luca Coelho
2019-01-27 10:19 ` [PATCH 21/21] iwiwifi: fix bad monitor buffer register addresses Luca Coelho

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190127101908.6428-16-luca@coelho.fi \
    --to=luca@coelho.fi \
    --cc=kvalo@codeaurora.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=luciano.coelho@intel.com \
    --cc=shahar.s.matityahu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).