qcacmn: Remove tx_desc pool lock in dp_tx_notify_completion

dp_peer hold the peer ref_cnt outside of dp_tx_notify_completion()
already, so dp_vdev can not be freed during that period if dp_peer
exist, it's not necessary that hold dp tx_desc pool lock in
dp_tx_notify_completion() which will introduce lock contention with
TX/TX Comp path.

Remove tx_desc pool lock to optimize it.

Change-Id: I5fdb9143bbc0800db74f8595f77c5a2c96d8e7d6
CRs-Fixed: 3170805
This commit is contained in:
Jinwei Chen
2022-04-08 00:57:46 -07:00
zatwierdzone przez Madan Koyyalamudi
rodzic aab13aceda
commit 4b88dddd72

Wyświetl plik

@@ -4239,17 +4239,13 @@ static inline void dp_tx_notify_completion(struct dp_soc *soc,
qdf_assert(tx_desc);
dp_tx_flow_pool_lock(soc, tx_desc);
if (!vdev ||
!vdev->osif_vdev) {
dp_tx_flow_pool_unlock(soc, tx_desc);
return;
}
osif_dev = vdev->osif_vdev;
tx_compl_cbk = vdev->tx_comp;
dp_tx_flow_pool_unlock(soc, tx_desc);
if (status == HAL_TX_TQM_RR_FRAME_ACKED)
flag |= BIT(QDF_TX_RX_STATUS_OK);