diff options
author | Jouni Malinen <jouni@codeaurora.org> | 2020-12-14 18:21:18 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2020-12-17 07:51:20 +0100 |
commit | ca2848022c12789685d3fab3227df02b863f9696 (patch) | |
tree | 5f29a2941e706033610a893546a513a764de19ac /drivers/net/wireless/ath/ath9k/hw.h | |
parent | ath: Modify ath_key_delete() to not need full key entry (diff) | |
download | linux-ca2848022c12789685d3fab3227df02b863f9696.tar.xz linux-ca2848022c12789685d3fab3227df02b863f9696.zip |
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
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/hw.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h index 023599e10dd5..b7b65b1c90e8 100644 --- a/drivers/net/wireless/ath/ath9k/hw.h +++ b/drivers/net/wireless/ath/ath9k/hw.h @@ -820,6 +820,7 @@ struct ath_hw { struct ath9k_pacal_info pacal_info; struct ar5416Stats stats; struct ath9k_tx_queue_info txq[ATH9K_NUM_TX_QUEUES]; + DECLARE_BITMAP(pending_del_keymap, ATH_KEYMAX); enum ath9k_int imask; u32 imrs2_reg; |