qcacmn: use granular locks to protect peer structures

Remove the global soc->peer_ref_mutex lock to protect
peer access

Instead use granular locks to protect the individual
peer DBs

1) soc→peer_hash_lock : To protect peer hash table
2) soc→peer_map_lock : To protect id to objmap array
3) vdev→peer_list_lock : To protect vdev level peer list

Change-Id: I9f044c4d71fe1155817a2b22a5a050545ec37445
This commit is contained in:
Chaithanya Garrepalli
2020-08-14 14:23:39 +05:30
committed by snandini
parent 5e4c6f6b29
commit 86d3df0605
7 changed files with 261 additions and 146 deletions

View File

@@ -6052,10 +6052,6 @@ dp_aggregate_pdev_ctrl_frames_stats(struct dp_pdev *pdev)
TAILQ_FOREACH(vdev, &pdev->vdev_list, vdev_list_elem) {
TAILQ_FOREACH(peer, &vdev->peer_list, peer_list_elem) {
if (!peer) {
dp_err("DP Invalid Peer refernce");
return;
}
if (peer->delete_in_progress) {
dp_err("DP Peer deletion in progress");