mac80211: backport brcmfmac changes from 2016-09-26
[openwrt/staging/mkresin.git] / package / kernel / mac80211 / patches / 319-0007-brcmfmac-respect-hidden_ssid-for-AP-interfaces.patch
1 From c940de10d45efc5664ee993a6da281f45c804e59 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
3 Date: Wed, 6 Jul 2016 12:22:54 +0200
4 Subject: [PATCH] brcmfmac: respect hidden_ssid for AP interfaces
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 This was succesfully tested with 4366B1. A small workaround is needed
10 for the main interface otherwise it would stuck at the hidden state.
11
12 Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
13 Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
14 ---
15 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 13 +++++++++++++
16 1 file changed, 13 insertions(+)
17
18 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
19 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
20 @@ -4662,6 +4662,15 @@ brcmf_cfg80211_start_ap(struct wiphy *wi
21 brcmf_err("SET SSID error (%d)\n", err);
22 goto exit;
23 }
24 +
25 + if (settings->hidden_ssid) {
26 + err = brcmf_fil_iovar_int_set(ifp, "closednet", 1);
27 + if (err) {
28 + brcmf_err("closednet error (%d)\n", err);
29 + goto exit;
30 + }
31 + }
32 +
33 brcmf_dbg(TRACE, "AP mode configuration complete\n");
34 } else if (dev_role == NL80211_IFTYPE_P2P_GO) {
35 err = brcmf_fil_iovar_int_set(ifp, "chanspec", chanspec);
36 @@ -4720,6 +4729,10 @@ static int brcmf_cfg80211_stop_ap(struct
37 return err;
38 }
39
40 + /* First BSS doesn't get a full reset */
41 + if (ifp->bsscfgidx == 0)
42 + brcmf_fil_iovar_int_set(ifp, "closednet", 0);
43 +
44 memset(&join_params, 0, sizeof(join_params));
45 err = brcmf_fil_cmd_data_set(ifp, BRCMF_C_SET_SSID,
46 &join_params, sizeof(join_params));