ath9k: Postpone key cache entry deletion for TXQ frames reference it
authorJouni Malinen <jouni@codeaurora.org>
Mon, 14 Dec 2020 17:21:18 +0000 (19:21 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 17 Dec 2020 06:51:20 +0000 (08:51 +0200)
commitca2848022c12789685d3fab3227df02b863f9696
tree5f29a2941e706033610a893546a513a764de19ac
parent144cd24dbc36650a51f7fe3bf1424a1432f1f480
ath9k: Postpone key cache entry deletion for TXQ frames reference it

Do not delete a key cache entry that is still being referenced by
pending frames in TXQs. This avoids reuse of the key cache entry while a
frame might still be transmitted using it.

To avoid having to do any additional operations during the main TX path
operations, track pending key cache entries in a new bitmap and check
whether any pending entries can be deleted before every new key
add/remove operation. Also clear any remaining entries when stopping the
interface.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201214172118.18100-6-jouni@codeaurora.org
drivers/net/wireless/ath/ath9k/hw.h
drivers/net/wireless/ath/ath9k/main.c