qcacmn: Destroy rx tid spinlock when peer is freed

Currently the rx tid spinlock is destroyed from
peer delete (based on peer state) or peer unmap handler.
This can lead to a race condition when the peer is
deleted before the peer map command is processed/received.

Fix the above race condition by destroying the rx tid
spinlock only when the peer handle is destroyed/freed.

Change-Id: Iaf7ccea11a95732c1aa20e66af6dd4a9a66517c5
CRs-Fixed: 2763533
This commit is contained in:
Rakesh Pillai
2020-08-27 17:59:37 +05:30
کامیت شده توسط snandini
والد 00a2d6550f
کامیت 351a71f1d3
2فایلهای تغییر یافته به همراه4 افزوده شده و 5 حذف شده

مشاهده پرونده

@@ -2939,8 +2939,6 @@ void dp_peer_rx_cleanup(struct dp_vdev *vdev, struct dp_peer *peer)
tid_delete_mask);
}
#endif
for (tid = 0; tid < DP_MAX_TIDS; tid++)
qdf_spinlock_destroy(&peer->rx_tid[tid].tid_lock);
}
#ifdef FEATURE_PERPKT_INFO