qcacmn: Add a missing lock for del_ast
Add a missing lock for protecting AST table while deleting an AST entry in STA roaming case Change-Id: I38b08c71e4080867780ba81063ac9d7a73962e04
Šī revīzija ir iekļauta:

revīziju iesūtīja
nshrivas

vecāks
a76abc45d7
revīzija
3eab5b1b92
@@ -3890,9 +3890,11 @@ static void *dp_peer_create_wifi3(struct cdp_vdev *vdev_handle,
|
||||
* If an AST entry exists, but no peer entry exists with a given
|
||||
* MAC addresses, we could deduce it as a WDS entry
|
||||
*/
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
ast_entry = dp_peer_ast_hash_find(soc, peer_mac_addr);
|
||||
if (ast_entry)
|
||||
dp_peer_del_ast(soc, ast_entry);
|
||||
qdf_spin_unlock_bh(&soc->ast_lock);
|
||||
}
|
||||
|
||||
#ifdef notyet
|
||||
|
@@ -548,6 +548,10 @@ void dp_peer_del_ast(struct dp_soc *soc, struct dp_ast_entry *ast_entry)
|
||||
|
||||
soc->ast_table[ast_entry->ast_idx] = NULL;
|
||||
TAILQ_REMOVE(&peer->ast_entry_list, ast_entry, ase_list_elem);
|
||||
|
||||
if (ast_entry == peer->self_ast_entry)
|
||||
peer->self_ast_entry = NULL;
|
||||
|
||||
DP_STATS_INC(soc, ast.deleted, 1);
|
||||
dp_peer_ast_hash_remove(soc, ast_entry);
|
||||
qdf_mem_free(ast_entry);
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user