wifi: brcmfmac: fix continuous 802.1x tx pending timeout error
authorWright Feng <wright.feng@cypress.com>
Fri, 22 Jul 2022 11:56:26 +0000 (13:56 +0200)
committerKalle Valo <kvalo@kernel.org>
Wed, 10 Aug 2022 05:47:22 +0000 (08:47 +0300)
commit0fa24196e4257bcad0c5c82d93508536426db4a2
tree2df0ceea65018cdaa701585aa40f43850f626184
parentbafe9528b792f4a442aa1ea2b0297cd53a0351ab
wifi: brcmfmac: fix continuous 802.1x tx pending timeout error

The race condition in brcmf_msgbuf_txflow and brcmf_msgbuf_delete_flowring
makes tx_msghdr writing after brcmf_msgbuf_remove_flowring. Host
driver should delete flowring after txflow complete and all txstatus back,
or pend_8021x_cnt will never be zero and cause every connection 950
milliseconds(MAX_WAIT_FOR_8021X_TX) delay.

Signed-off-by: Wright Feng <wright.feng@cypress.com>
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220722115632.620681-2-alvin@pqrs.dk
drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c