mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 08:36:12 -04:00
qcacmn: protect peer-list access in AST aging timer
Add missing lock to protect peer list access in AST aging timer Change-Id: I3e0f7c0bd0e81398dd927bb4f51627a46c5eae19
This commit is contained in:
parent
5957f0030a
commit
8a4c03a869
1 changed files with 10 additions and 3 deletions
|
|
@ -2061,6 +2061,11 @@ static void dp_ast_aging_timer_fn(void *soc_hdl)
|
|||
soc->wds_ast_aging_timer_cnt = 0;
|
||||
check_wds_ase = true;
|
||||
}
|
||||
|
||||
/* Peer list access lock */
|
||||
qdf_spin_lock_bh(&soc->peer_ref_mutex);
|
||||
|
||||
/* AST list access lock */
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
|
||||
for (i = 0; i < MAX_PDEV_CNT && soc->pdev_list[i]; i++) {
|
||||
|
|
@ -2114,6 +2119,7 @@ static void dp_ast_aging_timer_fn(void *soc_hdl)
|
|||
}
|
||||
|
||||
qdf_spin_unlock_bh(&soc->ast_lock);
|
||||
qdf_spin_unlock_bh(&soc->peer_ref_mutex);
|
||||
|
||||
if (qdf_atomic_read(&soc->cmn_init_done))
|
||||
qdf_timer_mod(&soc->ast_aging_timer,
|
||||
|
|
@ -2652,8 +2658,6 @@ static int dp_soc_cmn_setup(struct dp_soc *soc)
|
|||
goto fail1;
|
||||
}
|
||||
|
||||
qdf_spinlock_create(&soc->ast_lock);
|
||||
dp_soc_wds_attach(soc);
|
||||
|
||||
/* Reset the cpu ring map if radio is NSS offloaded */
|
||||
if (wlan_cfg_get_dp_soc_nss_cfg(soc_cfg_ctx)) {
|
||||
|
|
@ -3668,6 +3672,8 @@ static void dp_soc_deinit(void *txrx_soc)
|
|||
dp_srng_deinit(soc, &soc->reo_cmd_ring, REO_CMD, 0);
|
||||
dp_srng_deinit(soc, &soc->reo_status_ring, REO_STATUS, 0);
|
||||
|
||||
dp_soc_wds_detach(soc);
|
||||
|
||||
qdf_spinlock_destroy(&soc->peer_ref_mutex);
|
||||
qdf_spinlock_destroy(&soc->htt_stats.lock);
|
||||
|
||||
|
|
@ -3679,7 +3685,6 @@ static void dp_soc_deinit(void *txrx_soc)
|
|||
qdf_spinlock_destroy(&soc->rx.reo_cmd_lock);
|
||||
dp_reo_desc_freelist_destroy(soc);
|
||||
|
||||
dp_soc_wds_detach(soc);
|
||||
qdf_spinlock_destroy(&soc->ast_lock);
|
||||
|
||||
dp_soc_mem_reset(soc);
|
||||
|
|
@ -9437,6 +9442,8 @@ void *dp_soc_init(void *dpsoc, HTC_HANDLE htc_handle, void *hif_handle)
|
|||
}
|
||||
|
||||
qdf_spinlock_create(&soc->peer_ref_mutex);
|
||||
qdf_spinlock_create(&soc->ast_lock);
|
||||
dp_soc_wds_attach(soc);
|
||||
|
||||
qdf_spinlock_create(&soc->reo_desc_freelist_lock);
|
||||
qdf_list_create(&soc->reo_desc_freelist, REO_DESC_FREELIST_SIZE);
|
||||
|
|
|
|||
Loading…
Reference in a new issue