diff options
| author | Yue Ma <yuem@qca.qualcomm.com> | 2014-03-03 12:32:28 -0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-03-06 18:59:46 -0800 |
| commit | 2f3e9fdc8b4b34daf4ee736061875b7b7e9d602a (patch) | |
| tree | e6423afc05d51f1cc1c6e89695785177356445d9 | |
| parent | 53e6d37f986b577fefdc1b688e33495150f0c3f3 (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.c | 17 | ||||
| -rw-r--r-- | CORE/SERVICES/HIF/PCIe/if_pci.c | 6 |
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 |
