qcacld-3.0: Reduce time to wait for external threads completion
Presently, during unload, driver waits for max of 40sec if there are any external threads. But if driver unload won't happen within 30sec framework's watchdog kills system server, leading to device reboot. Also this may lead to driver not to print external threads which got stuck in driver. To mitigate this issue reduce wait for external threads completion to 20sec from 40sec. Change-Id: I35cfb0ec20a7d4584196243ec0b1167b5eaa6bf0 CRs-Fixed: 2030112
This commit is contained in:

committed by
snandini

parent
2ee22f46d0
commit
63e25afa4e
@@ -52,7 +52,7 @@
|
||||
/* MAX iteration count to wait for Entry point to exit before
|
||||
* we proceed with SSR in WD Thread
|
||||
*/
|
||||
#define MAX_SSR_WAIT_ITERATIONS 200
|
||||
#define MAX_SSR_WAIT_ITERATIONS 100
|
||||
#define MAX_SSR_PROTECT_LOG (16)
|
||||
|
||||
static atomic_t ssr_protect_entry_count;
|
||||
@@ -1168,6 +1168,13 @@ bool cds_wait_for_external_threads_completion(const char *caller_func)
|
||||
"%s: Waiting for %d active entry points to exit",
|
||||
__func__, r);
|
||||
msleep(SSR_WAIT_SLEEP_TIME);
|
||||
if (count == (MAX_SSR_WAIT_ITERATIONS/2)) {
|
||||
QDF_TRACE(QDF_MODULE_ID_QDF,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
"%s: in middle of waiting for active entry points:",
|
||||
__func__);
|
||||
cds_print_external_threads();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user