diff options
author | Renjaya Raga Zenta <ragazenta@gmail.com> | 2024-11-21 14:09:27 +0700 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2024-12-09 17:59:13 +0200 |
commit | aba23b0a6a0df84b06ed0323ce127bf7257e4025 (patch) | |
tree | c6152ad35bf0ab206c9c4fd0825f665d6c7d55f6 | |
parent | 01e767d6f7832f1ef171816953547b466bba9937 (diff) |
wifi: brcmfmac: fix brcmf_vif_clear_mgmt_ies when stopping AP
This removes the following error log when stopping AP:
ieee80211 phy0: brcmf_vif_set_mgmt_ie: vndr ie set error : -52
It happened if:
1) previously wlan interface was in station mode (wpa_supplicant) and
connected to a hotspot
2) then started AP mode (hostapd)
3) and then stopped AP mode.
The error happened when it tried to clear BRCMF_VNDR_IE_PRBREQ_FLAG.
This flag is not set in `brcmf_config_ap_mgmt_ie`, but
BRCMF_VNDR_IE_ASSOCRSP_FLAG is set instead.
Signed-off-by: Renjaya Raga Zenta <ragazenta@gmail.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://patch.msgid.link/20241121-brcmfmac-v1-1-02fc3fb427c2@gmail.com
-rw-r--r-- | drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 689e779fe00f..902ac3108782 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -4999,12 +4999,16 @@ exit: s32 brcmf_vif_clear_mgmt_ies(struct brcmf_cfg80211_vif *vif) { static const s32 pktflags[] = { - BRCMF_VNDR_IE_PRBREQ_FLAG, BRCMF_VNDR_IE_PRBRSP_FLAG, BRCMF_VNDR_IE_BEACON_FLAG }; int i; + if (vif->wdev.iftype == NL80211_IFTYPE_AP) + brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_ASSOCRSP_FLAG, NULL, 0); + else + brcmf_vif_set_mgmt_ie(vif, BRCMF_VNDR_IE_PRBREQ_FLAG, NULL, 0); + for (i = 0; i < ARRAY_SIZE(pktflags); i++) brcmf_vif_set_mgmt_ie(vif, pktflags[i], NULL, 0); |