brcmfmac: keep apsta enabled when AP starts with MCHAN feature
authorWright Feng <wright.feng@cypress.com>
Mon, 27 Apr 2020 06:59:59 +0000 (01:59 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 4 May 2020 09:48:27 +0000 (12:48 +0300)
When starting station mode on wlan0 and AP mode on wlan1, the apsta will
be disabled and cause data stall on wlan0(station). The apsta feature
with MCHAN(Multi-Channel Concurrent) or RSDB(Real Simultaneous
Dual-Band) can make STA+AP work on two bands concurrently.
Because of that, we keep apsta enabled if firmware supports MCHAN or
RSDB features

Signed-off-by: Wright Feng <wright.feng@cypress.com>
Signed-off-by: Chi-Hsien Lin <chi-hsien.lin@cypress.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1587970803-77700-2-git-send-email-chi-hsien.lin@cypress.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

index 2ba1653..4bef5f0 100644 (file)
@@ -4727,7 +4727,8 @@ brcmf_cfg80211_start_ap(struct wiphy *wiphy, struct net_device *ndev,
 
                if ((dev_role == NL80211_IFTYPE_AP) &&
                    ((ifp->ifidx == 0) ||
-                    !brcmf_feat_is_enabled(ifp, BRCMF_FEAT_RSDB))) {
+                    (!brcmf_feat_is_enabled(ifp, BRCMF_FEAT_RSDB) &&
+                     !brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MCHAN)))) {
                        err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1);
                        if (err < 0) {
                                bphy_err(drvr, "BRCMF_C_DOWN error %d\n",