OSDN Git Service

ath11k: avoid unnecessary lock contention in tx_completion path
authorP Praneesh <ppranees@codeaurora.org>
Fri, 12 Nov 2021 09:06:11 +0000 (11:06 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 15 Nov 2021 09:21:56 +0000 (11:21 +0200)
commitbe8867cb47652418e488170785bd9ffbadae3f1f
treed8a49fe62209a3cf72944d139f60ba0bd2eef488
parentbcef57ea400cc20a5389fa0e38d61063331558f8
ath11k: avoid unnecessary lock contention in tx_completion path

Avoid unnecessary idr_find calls before the idr_remove calls. Because
idr_remove gives the valid ptr if id is valid otherwise return NULL ptr.
So removed the idr_find before idr_remove in tx completion path. Also no
need to disable the bottom half preempt if it is already in the
bottom half context, so modify the spin_lock_bh to spin_lock in the
data tx completion path.

Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.4.0.1-01734-QCAHKSWPL_SILICONZ-1 v2

Co-developed-by: Karthikeyan Periyasamy <periyasa@codeaurora.org>
Signed-off-by: Karthikeyan Periyasamy <periyasa@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: P Praneesh <ppranees@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1630560820-21905-13-git-send-email-ppranees@codeaurora.org
drivers/net/wireless/ath/ath11k/dp_tx.c