diff options
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/p2p.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | 11 |
2 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c index 9f87a8570770..fd090745b82f 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/p2p.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/p2p.c | |||
@@ -1320,7 +1320,7 @@ s32 brcmf_p2p_attach(struct brcmf_cfg80211_info *cfg) | |||
1320 | p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif = pri_ifp->vif; | 1320 | p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY].vif = pri_ifp->vif; |
1321 | 1321 | ||
1322 | if (p2p_ifp) { | 1322 | if (p2p_ifp) { |
1323 | p2p_vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_STATION, | 1323 | p2p_vif = brcmf_alloc_vif(cfg, NL80211_IFTYPE_P2P_DEVICE, |
1324 | false); | 1324 | false); |
1325 | if (IS_ERR(p2p_vif)) { | 1325 | if (IS_ERR(p2p_vif)) { |
1326 | brcmf_err("could not create discovery vif\n"); | 1326 | brcmf_err("could not create discovery vif\n"); |
diff --git a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c index cba2f34d4c27..e7ef8270726a 100644 --- a/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c +++ b/drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c | |||
@@ -4163,20 +4163,24 @@ static void brcmf_wiphy_pno_params(struct wiphy *wiphy) | |||
4163 | 4163 | ||
4164 | static const struct ieee80211_iface_limit brcmf_iface_limits[] = { | 4164 | static const struct ieee80211_iface_limit brcmf_iface_limits[] = { |
4165 | { | 4165 | { |
4166 | .max = 1, | 4166 | .max = 2, |
4167 | .types = BIT(NL80211_IFTYPE_STATION) | | 4167 | .types = BIT(NL80211_IFTYPE_STATION) | |
4168 | BIT(NL80211_IFTYPE_ADHOC) | | 4168 | BIT(NL80211_IFTYPE_ADHOC) | |
4169 | BIT(NL80211_IFTYPE_AP) | 4169 | BIT(NL80211_IFTYPE_AP) |
4170 | }, | 4170 | }, |
4171 | { | 4171 | { |
4172 | .max = 1, | 4172 | .max = 1, |
4173 | .types = BIT(NL80211_IFTYPE_P2P_DEVICE) | ||
4174 | }, | ||
4175 | { | ||
4176 | .max = 1, | ||
4173 | .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | | 4177 | .types = BIT(NL80211_IFTYPE_P2P_CLIENT) | |
4174 | BIT(NL80211_IFTYPE_P2P_GO) | 4178 | BIT(NL80211_IFTYPE_P2P_GO) |
4175 | }, | 4179 | }, |
4176 | }; | 4180 | }; |
4177 | static const struct ieee80211_iface_combination brcmf_iface_combos[] = { | 4181 | static const struct ieee80211_iface_combination brcmf_iface_combos[] = { |
4178 | { | 4182 | { |
4179 | .max_interfaces = BRCMF_IFACE_MAX_CNT - 1, | 4183 | .max_interfaces = BRCMF_IFACE_MAX_CNT, |
4180 | .num_different_channels = 1, /* no multi-channel for now */ | 4184 | .num_different_channels = 1, /* no multi-channel for now */ |
4181 | .n_limits = ARRAY_SIZE(brcmf_iface_limits), | 4185 | .n_limits = ARRAY_SIZE(brcmf_iface_limits), |
4182 | .limits = brcmf_iface_limits | 4186 | .limits = brcmf_iface_limits |
@@ -4225,7 +4229,8 @@ static struct wiphy *brcmf_setup_wiphy(struct device *phydev) | |||
4225 | BIT(NL80211_IFTYPE_ADHOC) | | 4229 | BIT(NL80211_IFTYPE_ADHOC) | |
4226 | BIT(NL80211_IFTYPE_AP) | | 4230 | BIT(NL80211_IFTYPE_AP) | |
4227 | BIT(NL80211_IFTYPE_P2P_CLIENT) | | 4231 | BIT(NL80211_IFTYPE_P2P_CLIENT) | |
4228 | BIT(NL80211_IFTYPE_P2P_GO); | 4232 | BIT(NL80211_IFTYPE_P2P_GO) | |
4233 | BIT(NL80211_IFTYPE_P2P_DEVICE); | ||
4229 | wiphy->iface_combinations = brcmf_iface_combos; | 4234 | wiphy->iface_combinations = brcmf_iface_combos; |
4230 | wiphy->n_iface_combinations = ARRAY_SIZE(brcmf_iface_combos); | 4235 | wiphy->n_iface_combinations = ARRAY_SIZE(brcmf_iface_combos); |
4231 | wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz; | 4236 | wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz; |