qcacld-3.0: Fix spin_lock deadlock issue for resume/wakeup
If resume and fw wakeup happens at the same time. psoc_ctx->lock maybe doing bottom half operation for resume, then wakeup interrupt comes on same cpu, the interrupt handler will also acquire psoc_ctx->lock in pmo_core_update_wow_initial_wake_up, which cause dead lock. Using atomic for wow_initial_wake_up, so the interrupt handler can avoid using spin_lock. Change-Id: Id0e963a0924415e9660c57a1c1b776d3e609213d CRs-Fixed: 2624899
This commit is contained in:
@@ -187,6 +187,8 @@ QDF_STATUS pmo_psoc_object_created_notification(
|
||||
status = QDF_STATUS_E_FAILURE;
|
||||
goto out;
|
||||
}
|
||||
|
||||
qdf_atomic_init(&psoc_ctx->wow.wow_initial_wake_up);
|
||||
/* Register PMO tx ops*/
|
||||
target_if_pmo_register_tx_ops(&psoc_ctx->pmo_tx_ops);
|
||||
out:
|
||||
|
Reference in New Issue
Block a user