qcacmn: Fix a race condition in WDS timer attach
WDS aging timer is dependent on a flag which is set in soc_cmn_setup, but in current implementation wds_timer_attach is done from soc attach and soc_cmn_setup is involed from pdev_attach. Fix this race condition by moving wds_attach to soc_cmn_setup Change-Id: Ia88201c627b434b85e56daadd0c7ab20e6ce0b3f CRs-Fixed: 2373127
This commit is contained in:

کامیت شده توسط
nshrivas

والد
2c6f4d1906
کامیت
b113bbc335
@@ -2816,6 +2816,8 @@ out:
|
||||
hal_reo_setup(soc->hal_soc, &reo_params);
|
||||
|
||||
qdf_atomic_set(&soc->cmn_init_done, 1);
|
||||
dp_soc_wds_attach(soc);
|
||||
|
||||
qdf_nbuf_queue_init(&soc->htt_stats.msg);
|
||||
return 0;
|
||||
fail1:
|
||||
@@ -9641,7 +9643,6 @@ 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);
|
||||
|
@@ -592,7 +592,8 @@ int dp_peer_add_ast(struct dp_soc *soc,
|
||||
ast_entry = dp_peer_ast_hash_find_soc(soc, mac_addr);
|
||||
|
||||
if (ast_entry) {
|
||||
if (ast_entry->type == CDP_TXRX_AST_TYPE_MEC)
|
||||
if ((type == CDP_TXRX_AST_TYPE_MEC) &&
|
||||
(ast_entry->type == CDP_TXRX_AST_TYPE_MEC))
|
||||
ast_entry->is_active = TRUE;
|
||||
|
||||
if ((ast_entry->type == CDP_TXRX_AST_TYPE_WDS_HM) &&
|
||||
|
مرجع در شماره جدید
Block a user