aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/wil6210/wil_crash_dump.c
diff options
context:
space:
mode:
authorLior David <qca_liord@qca.qualcomm.com>2016-11-28 13:49:02 +0200
committerKalle Valo <kvalo@qca.qualcomm.com>2016-12-01 13:20:36 +0200
commit615788200557d8a555bf7f02a365aee627400912 (patch)
tree70985cd03e729e736fe35b48dd885c024d59227a /drivers/net/wireless/ath/wil6210/wil_crash_dump.c
parentwil6210: validate wil_pmc_alloc parameters (diff)
downloadlinux-dev-615788200557d8a555bf7f02a365aee627400912.tar.xz
linux-dev-615788200557d8a555bf7f02a365aee627400912.zip
wil6210: add debugfs blobs for UCODE code and data
Added new areas to fw_mappings area for UCODE code and data areas. The new areas are only exposed through debugfs blobs, and mainly needed to access UCODE logs. The change does not affect crash dumps because the newly added areas overlap with the "upper" area which is already dumped. Signed-off-by: Lior David <qca_liord@qca.qualcomm.com> Signed-off-by: Maya Erez <qca_merez@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/wil6210/wil_crash_dump.c')
-rw-r--r--drivers/net/wireless/ath/wil6210/wil_crash_dump.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/wil6210/wil_crash_dump.c b/drivers/net/wireless/ath/wil6210/wil_crash_dump.c
index b57d280946e0..d051eea47a54 100644
--- a/drivers/net/wireless/ath/wil6210/wil_crash_dump.c
+++ b/drivers/net/wireless/ath/wil6210/wil_crash_dump.c
@@ -36,6 +36,9 @@ static int wil_fw_get_crash_dump_bounds(struct wil6210_priv *wil,
for (i = 1; i < ARRAY_SIZE(fw_mapping); i++) {
map = &fw_mapping[i];
+ if (!map->fw)
+ continue;
+
if (map->host < host_min)
host_min = map->host;
@@ -73,6 +76,9 @@ int wil_fw_copy_crash_dump(struct wil6210_priv *wil, void *dest, u32 size)
for (i = 0; i < ARRAY_SIZE(fw_mapping); i++) {
map = &fw_mapping[i];
+ if (!map->fw)
+ continue;
+
data = (void * __force)wil->csr + HOSTADDR(map->host);
len = map->to - map->from;
offset = map->host - host_min;