summaryrefslogtreecommitdiff
path: root/core/utils
diff options
context:
space:
mode:
authorArun Khandavalli <akhandav@codeaurora.org>2017-03-13 17:29:12 +0530
committerPrashanth Bhatta <bhattap@codeaurora.org>2017-03-13 18:10:15 -0700
commitfc0992b6e61a14419a7d7b9154fe418348c02840 (patch)
treefd8b4e5361435139bf0ef4a0b6aceea06ac57d47 /core/utils
parent9b79d003495aab152218760ccebd7a1b3584838a (diff)
qcacld-3.0: Depending on the target type trigger self-recovery
Triggering the self-recovery is different for the different type of targets supported. Depending on the target type trigger the self-recovery through the platform driver over QMI or through CRASH_INJECT, Also While triggering the recovery from logging thread check if the self-recovery is supported CRs-Fixed: 2017514 Change-Id: I788e4280276d83a1d74bd98e7b2e12e3002dfe78
Diffstat (limited to 'core/utils')
-rw-r--r--core/utils/logging/src/wlan_logging_sock_svc.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/core/utils/logging/src/wlan_logging_sock_svc.c b/core/utils/logging/src/wlan_logging_sock_svc.c
index bc6eb295432e..b8bf6fb7fc10 100644
--- a/core/utils/logging/src/wlan_logging_sock_svc.c
+++ b/core/utils/logging/src/wlan_logging_sock_svc.c
@@ -736,19 +736,25 @@ void wlan_report_log_completion(uint32_t is_fatal,
static void send_flush_completion_to_user(void)
{
uint32_t is_fatal, indicator, reason_code;
- bool recovery_needed;
+ bool recovery_needed = false;
- cds_get_and_reset_log_completion(&is_fatal,
- &indicator, &reason_code, &recovery_needed);
+ cds_get_and_reset_log_completion(&is_fatal, &indicator, &reason_code,
+ &recovery_needed);
/* Error on purpose, so that it will get logged in the kmsg */
LOGGING_TRACE(QDF_TRACE_LEVEL_DEBUG,
- "%s: Sending flush done to userspace", __func__);
+ "%s: Sending flush done to userspace, recovery: %d",
+ __func__, recovery_needed);
wlan_report_log_completion(is_fatal, indicator, reason_code);
- if (recovery_needed)
+ if (!recovery_needed)
+ return;
+
+ if (cds_is_self_recovery_enabled())
cds_trigger_recovery(false);
+ else
+ QDF_BUG(0);
}
/**