From 2c16044ccf3925caba4c8bb474536d971b67858c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Thu, 19 Dec 2019 09:16:59 +0100 Subject: mac80211: brcm: add support for BCM4359 SDIO chipset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Miłecki (cherry picked from commit 17e2246eca901fec79fbac5b7a90f68f60785c4e) --- ...t-set-mbss-in-vif-if-firmware-does-not-su.patch | 38 ++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 package/kernel/mac80211/patches/brcm/414-v5.6-0007-brcmfmac-not-set-mbss-in-vif-if-firmware-does-not-su.patch (limited to 'package/kernel/mac80211/patches/brcm/414-v5.6-0007-brcmfmac-not-set-mbss-in-vif-if-firmware-does-not-su.patch') diff --git a/package/kernel/mac80211/patches/brcm/414-v5.6-0007-brcmfmac-not-set-mbss-in-vif-if-firmware-does-not-su.patch b/package/kernel/mac80211/patches/brcm/414-v5.6-0007-brcmfmac-not-set-mbss-in-vif-if-firmware-does-not-su.patch new file mode 100644 index 0000000000..96df09dfab --- /dev/null +++ b/package/kernel/mac80211/patches/brcm/414-v5.6-0007-brcmfmac-not-set-mbss-in-vif-if-firmware-does-not-su.patch @@ -0,0 +1,38 @@ +From 2635853ce4ab7654a77ab7080fb56de83408606b Mon Sep 17 00:00:00 2001 +From: Wright Feng +Date: Thu, 12 Dec 2019 00:52:51 +0100 +Subject: [PATCH 7/7] brcmfmac: not set mbss in vif if firmware does not + support MBSS + +With RSDB mode, FMAC and firmware are able to create 2 or more AP, +so we should not set mbss in vif structure if firmware does not +support MBSS feature. + +Signed-off-by: Wright Feng +Signed-off-by: Soeren Moch +Reviewed-by: Chi-Hsien Lin +Signed-off-by: Kalle Valo +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +@@ -5293,6 +5293,7 @@ struct brcmf_cfg80211_vif *brcmf_alloc_v + struct brcmf_cfg80211_vif *vif_walk; + struct brcmf_cfg80211_vif *vif; + bool mbss; ++ struct brcmf_if *ifp = brcmf_get_ifp(cfg->pub, 0); + + brcmf_dbg(TRACE, "allocating virtual interface (size=%zu)\n", + sizeof(*vif)); +@@ -5305,7 +5306,8 @@ struct brcmf_cfg80211_vif *brcmf_alloc_v + + brcmf_init_prof(&vif->profile); + +- if (type == NL80211_IFTYPE_AP) { ++ if (type == NL80211_IFTYPE_AP && ++ brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS)) { + mbss = false; + list_for_each_entry(vif_walk, &cfg->vif_list, list) { + if (vif_walk->wdev.iftype == NL80211_IFTYPE_AP) { -- cgit v1.2.3