linux/drivers/net/wireless/broadcom
Luca Pesce 731c4447e6 brcmfmac: clear EAP/association status bits on linkdown events
[ Upstream commit e862a3e408 ]

This ensure that previous association attempts do not leave stale statuses
on subsequent attempts.

This fixes the WARN_ON(!cr->bss)) from __cfg80211_connect_result() when
connecting to an AP after a previous connection failure (e.g. where EAP fails
due to incorrect psk but association succeeded). In some scenarios, indeed,
brcmf_is_linkup() was reporting a link up event too early due to stale
BRCMF_VIF_STATUS_ASSOC_SUCCESS bit, thus reporting to cfg80211 a connection
result with a zeroed bssid (vif->profile.bssid is still empty), causing the
WARN_ON due to the call to cfg80211_get_bss() with the empty bssid.

Signed-off-by: Luca Pesce <luca.pesce@vimar.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1608807119-21785-1-git-send-email-luca.pesce@vimar.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2021-04-07 15:00:07 +02:00
..
b43 b43: N-PHY: Fix the update of coef for the PHY revision >= 3case 2021-03-04 11:37:34 +01:00
b43legacy b43legacy: convert tasklets to use new tasklet_setup() API 2020-08-27 16:22:04 +03:00
brcm80211 brcmfmac: clear EAP/association status bits on linkdown events 2021-04-07 15:00:07 +02:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00