summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYue Ma <yuem@qca.qualcomm.com>2014-03-03 12:32:28 -0800
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-03-06 18:59:46 -0800
commit2f3e9fdc8b4b34daf4ee736061875b7b7e9d602a (patch)
treee6423afc05d51f1cc1c6e89695785177356445d9
parent53e6d37f986b577fefdc1b688e33495150f0c3f3 (diff)
qcacld: Disable collecting target RAM dump after kernel panic
Currently host driver will also collect target RAM dump if kernel panic happens. There are some cases that during that procedure a second kernel panic may happen which will cause that it's unable to identify the root cause for the first crash. Hence disable this feature for now. Change-Id: I534b84cf7efd3260795c2b8c8d67e99a6670f079 CRs-fixed: 625527
-rw-r--r--CORE/SERVICES/BMI/ol_fw.c17
-rw-r--r--CORE/SERVICES/HIF/PCIe/if_pci.c6
2 files changed, 14 insertions, 9 deletions
diff --git a/CORE/SERVICES/BMI/ol_fw.c b/CORE/SERVICES/BMI/ol_fw.c
index f7e02cf99fb2..ae87573ec489 100644
--- a/CORE/SERVICES/BMI/ol_fw.c
+++ b/CORE/SERVICES/BMI/ol_fw.c
@@ -663,20 +663,17 @@ static void ramdump_work_handler(struct work_struct *ramdump)
goto out_fail;
}
+#ifdef CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC
if (ramdump_scn->crash_shutdown) {
- if (hif_pci_check_soc_status(ramdump_scn->hif_sc))
- goto out;
-
- if (ol_copy_ramdump(ramdump_scn))
- goto out;
-
- printk("%s: RAM dump collecting completed!\n", __func__);
+ if (!hif_pci_check_soc_status(ramdump_scn->hif_sc)
+ && !ol_copy_ramdump(ramdump_scn))
+ printk("%s: RAM dump collecting completed!\n", __func__);
-out:
ramdump_scn->crash_shutdown = false;
complete(&ramdump_scn->ramdump_event);
return;
- }
+ }
+#endif
#ifdef DEBUG
ret = hif_pci_check_soc_status(ramdump_scn->hif_sc);
@@ -755,9 +752,11 @@ void ol_target_failure(void *instance, A_STATUS status)
return;
}
+#ifdef CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC
if (scn->crash_shutdown)
printk("XXX TARGET ASSERTED because of Kernel Panic XXX\n");
else
+#endif
printk("XXX TARGET ASSERTED XXX\n");
scn->target_status = OL_TRGET_STATUS_RESET;
diff --git a/CORE/SERVICES/HIF/PCIe/if_pci.c b/CORE/SERVICES/HIF/PCIe/if_pci.c
index 2e88f21dfab9..2fca84aa8ae2 100644
--- a/CORE/SERVICES/HIF/PCIe/if_pci.c
+++ b/CORE/SERVICES/HIF/PCIe/if_pci.c
@@ -1522,6 +1522,7 @@ void hif_pci_shutdown(struct pci_dev *pdev)
void hif_pci_crash_shutdown(struct pci_dev *pdev)
{
+#ifdef CONFIG_TARGET_RAMDUMP_AFTER_KERNEL_PANIC
struct hif_pci_softc *sc;
struct ol_softc *scn;
int status;
@@ -1550,6 +1551,11 @@ void hif_pci_crash_shutdown(struct pci_dev *pdev)
printk("%s: RAM dump collecting timeout!\n", __func__);
return;
}
+#else
+ printk("%s: Collecting target RAM dump after kernel panic is disabled!\n",
+ __func__);
+ return;
+#endif
}
#endif