diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2014-08-25 12:13:14 +0200 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2014-08-26 19:09:03 +0300 |
commit | 1bbb119db00dc1aff188df0f5705a759ede39b37 (patch) | |
tree | 422b281c0f27c3f9e3af4c34e7570fbf402995bf /drivers | |
parent | 7aa7a72a23679abf1cea9b3b65a8921244e769a7 (diff) |
ath10k: fix fw crash dumping
Recent crash dump patches introduced a regression.
If debugfs was disabled upon crash user could only
see the following:
[ 793.880000] ath10k: firmware crashed! (uuid n/a)
[ 793.890000] ath10k: qca988x hw2.0 (0x4100016c, 0x043202ff) fw 10.1.467.2-1 api 2 htt 2.1
[ 793.890000] ath10k: debug 0 debugfs 0 tracing 0 dfs 1
The report was missing register dump. Fix it by
printing registers regardless if crash_data is
present or not.
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/pci.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath10k/pci.c b/drivers/net/wireless/ath/ath10k/pci.c index 83ef6ef622f..144eb8a30e2 100644 --- a/drivers/net/wireless/ath/ath10k/pci.c +++ b/drivers/net/wireless/ath/ath10k/pci.c @@ -916,6 +916,9 @@ static void ath10k_pci_dump_registers(struct ath10k *ar, reg_dump_values[i + 2], reg_dump_values[i + 3]); + if (!crash_data) + return; + /* crash_data is in little endian */ for (i = 0; i < REG_DUMP_COUNT_QCA988X; i++) crash_data->registers[i] = cpu_to_le32(reg_dump_values[i]); @@ -937,13 +940,8 @@ static void ath10k_pci_fw_crashed_dump(struct ath10k *ar) ath10k_err(ar, "firmware crashed! (uuid %s)\n", uuid); ath10k_print_driver_info(ar); - - if (!crash_data) - goto exit; - ath10k_pci_dump_registers(ar, crash_data); -exit: spin_unlock_bh(&ar->data_lock); queue_work(ar->workqueue, &ar->restart_work); |