2019-12-10 03:40:11

by Chi-Hsien Lin

[permalink] [raw]
Subject: Re: [PATCH 7/8] brcmfmac: not set mbss in vif if firmware does not support MBSS



On 12/10/2019 6:38, Soeren Moch wrote:
> From: Wright Feng <[email protected]>
>
> 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 <[email protected]>
Reviewed-by: Chi-Hsien Lin <[email protected]>

> ---
> Cc: Kalle Valo <[email protected]>
> Cc: Arend van Spriel <[email protected]>
> Cc: Franky Lin <[email protected]>
> Cc: Hante Meuleman <[email protected]>
> Cc: Chi-Hsien Lin <[email protected]>
> Cc: Wright Feng <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index 9d9dc9195e9e..6eb3064c3721 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -5363,6 +5363,7 @@ struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
> 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));
> @@ -5375,7 +5376,8 @@ struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
>
> 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) {
> --
> 2.17.1
>
> .
>