diff options
| author | Arun Khandavalli <akhandav@codeaurora.org> | 2017-03-13 17:29:12 +0530 |
|---|---|---|
| committer | Prashanth Bhatta <bhattap@codeaurora.org> | 2017-03-13 18:10:15 -0700 |
| commit | fc0992b6e61a14419a7d7b9154fe418348c02840 (patch) | |
| tree | fd8b4e5361435139bf0ef4a0b6aceea06ac57d47 /core/utils | |
| parent | 9b79d003495aab152218760ccebd7a1b3584838a (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.c | 16 |
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); } /** |
