qcacld-3.0: Cancel reap timer during driver unload
In case of driver unload, there can be a race condition since the timer for processing monitor status ring can run in parallel to the unload time wow ack response handler, which is also flushing all the monitor status ring entries. To avoid this race condition, stop the monitor reap timer as a part of target suspend, and process all the outstanding entries in the monitor status ring. This will make sure that the monitor status ring is processed from only one context at any given time. Change-Id: Iaff01b2d61ba53eb7ab442b2c1886ba8076a4a8b CRs-Fixed: 2678973
This commit is contained in:
parent
174d2ccae5
commit
6dff8e348e
@ -853,11 +853,13 @@ QDF_STATUS pmo_core_psoc_suspend_target(struct wlan_objmgr_psoc *psoc,
|
||||
QDF_STATUS status;
|
||||
struct pmo_suspend_params param;
|
||||
struct pmo_psoc_priv_obj *psoc_ctx;
|
||||
void *dp_soc = pmo_core_psoc_get_dp_handle(psoc);
|
||||
|
||||
pmo_enter();
|
||||
|
||||
psoc_ctx = pmo_psoc_get_priv(psoc);
|
||||
|
||||
cdp_process_target_suspend_req(dp_soc, OL_TXRX_PDEV_ID);
|
||||
qdf_event_reset(&psoc_ctx->wow.target_suspend);
|
||||
param.disable_target_intr = disable_target_intr;
|
||||
status = pmo_tgt_psoc_send_supend_req(psoc, ¶m);
|
||||
|
Loading…
Reference in New Issue
Block a user