mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-23 04:59:05 -04:00
qcacld-3.0: Use sync API for target assert and dump collection
In internal builds, to catch all fw timeout issues, host-initiated self-recovery is not enabled. To avoid a race between cld driver triggering assert and RDDM dump collection, use the CNSS-provided sync API, which guarantees target assert and dump collection before returning. Change-Id: Ib702bfa17616a100913f501f850d5c0b74ad39bb CRs-Fixed: 2790271
This commit is contained in:
parent
b5fdad2678
commit
d2bcfc241e
2 changed files with 5 additions and 16 deletions
|
|
@ -1976,8 +1976,6 @@ static void cds_trigger_recovery_work(void *context)
|
|||
void __cds_trigger_recovery(enum qdf_hang_reason reason, const char *func,
|
||||
const uint32_t line)
|
||||
{
|
||||
bool is_work_queue_needed = false;
|
||||
|
||||
if (!gp_cds_context) {
|
||||
cds_err("gp_cds_context is null");
|
||||
return;
|
||||
|
|
@ -1985,19 +1983,10 @@ void __cds_trigger_recovery(enum qdf_hang_reason reason, const char *func,
|
|||
|
||||
gp_cds_context->recovery_reason = reason;
|
||||
|
||||
if (in_atomic() ||
|
||||
(QDF_RESUME_TIMEOUT == reason || QDF_SUSPEND_TIMEOUT == reason))
|
||||
is_work_queue_needed = true;
|
||||
|
||||
if (is_work_queue_needed) {
|
||||
__cds_recovery_caller.func = func;
|
||||
__cds_recovery_caller.line = line;
|
||||
qdf_queue_work(0, gp_cds_context->cds_recovery_wq,
|
||||
&gp_cds_context->cds_recovery_work);
|
||||
return;
|
||||
}
|
||||
|
||||
cds_trigger_recovery_handler(func, line);
|
||||
__cds_recovery_caller.func = func;
|
||||
__cds_recovery_caller.line = line;
|
||||
qdf_queue_work(0, gp_cds_context->cds_recovery_wq,
|
||||
&gp_cds_context->cds_recovery_work);
|
||||
}
|
||||
|
||||
void cds_trigger_recovery_psoc(void *psoc, enum qdf_hang_reason reason,
|
||||
|
|
|
|||
|
|
@ -625,7 +625,7 @@ static inline int pld_pcie_idle_shutdown(struct device *dev)
|
|||
|
||||
static inline int pld_pcie_force_assert_target(struct device *dev)
|
||||
{
|
||||
return cnss_force_fw_assert(dev);
|
||||
return cnss_force_collect_rddm(dev);
|
||||
}
|
||||
|
||||
static inline int pld_pcie_get_user_msi_assignment(struct device *dev,
|
||||
|
|
|
|||
Loading…
Reference in a new issue