ath11k: fix 4-addr tx failure for AP and STA modes
authorSathishkumar Muruganandam <murugana@codeaurora.org>
Tue, 20 Jul 2021 21:31:46 +0000 (00:31 +0300)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 16 Sep 2021 09:15:40 +0000 (12:15 +0300)
commit34c67dc366419e06129dad0f32f521842bdff9bc
treef7fd7dfa8861306f77034a078b8291f27e74fce8
parentef7bc2a7634298b66fcd313dd4bb0e9f4f2e503b
ath11k: fix 4-addr tx failure for AP and STA modes

Ath11k FW requires peer parameter WMI_PEER_USE_4ADDR to be set for
4-addr peers allowing 4-address frame transmission to those peers.

Add ath11k driver callback for sta_set_4addr() to queue new workq
set_4addr_wk only once based on new boolean, use_4addr_set.

sta_set_4addr() will be called during 4-addr STA association cases
applicable for both AP and STA modes.

In ath11k_sta_set_4addr_wk(),

AP mode:
        WMI_PEER_USE_4ADDR will be set for the corresponding
        associated 4-addr STA(s)

STA mode:
        WMI_PEER_USE_4ADDR will be set for the AP to which the
        4-addr STA got associated.

Tested-on: IPQ8074 WLAN.HK.2.1.0.1-01238-QCAHKSWPL_SILICONZ-1

Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210720213147.90042-1-jouni@codeaurora.org
drivers/net/wireless/ath/ath11k/core.h
drivers/net/wireless/ath/ath11k/mac.c