summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/SERVICES/BMI/ol_fw.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/CORE/SERVICES/BMI/ol_fw.c b/CORE/SERVICES/BMI/ol_fw.c
index df0652cceda4..4780acc42a65 100644
--- a/CORE/SERVICES/BMI/ol_fw.c
+++ b/CORE/SERVICES/BMI/ol_fw.c
@@ -1001,6 +1001,7 @@ u_int32_t ol_fw_iram_size;
u_int32_t ol_fw_axi_size;
#endif
+#if defined(HIF_SDIO)
int ol_copy_ramdump(struct ol_softc *scn)
{
int ret;
@@ -1023,6 +1024,27 @@ int ol_copy_ramdump(struct ol_softc *scn)
out:
return ret;
}
+#else
+int ol_copy_ramdump(struct ol_softc *scn)
+{
+ int ret;
+
+ if (!vos_is_ssr_fw_dump_required())
+ return 0;
+
+ if (!scn->ramdump_base || !scn->ramdump_size) {
+ pr_info("%s: No RAM dump will be collected since ramdump_base "
+ "is NULL or ramdump_size is 0!\n", __func__);
+ ret = -EACCES;
+ goto out;
+ }
+
+ ret = ol_target_coredump(scn, scn->ramdump_base, scn->ramdump_size);
+
+out:
+ return ret;
+}
+#endif
static void ramdump_work_handler(struct work_struct *ramdump)
{