summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlifeng <lifeng@codeaurora.org>2017-05-12 12:56:52 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-18 10:54:06 -0700
commitffc22e043856183ae4efb6c04d574ba4a8142fe4 (patch)
tree10c530c9b88b918236cfcb2270cb582cda0bae9c
parenta704aa50a92a19099558c5a75988d5869011ffb1 (diff)
qcacld-2.0: Disable pm qos in LL during ramdump collecting
Disable the kernel panic and then trigger system crash manually, but the system still shutdown and reboot. It's caused by the pm qos mechnasim involved during ramdump collecting in the flow of pci wlan driver crash_shutdown callback. The fix is to disable the pm qos mechnasim when collecting ramdump in pci platform. Change-Id: I5af39803c335b65d79b1a0d28a121a02c7625646 CRs-Fixed: 2040230
-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)
{