mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
59 lines
2.0 KiB
Diff
59 lines
2.0 KiB
Diff
From b29a8e3605a59e239a160580e0478cef9117b05d Mon Sep 17 00:00:00 2001
|
|
From: Wright Feng <wright.feng@cypress.com>
|
|
Date: Wed, 31 Jan 2018 04:07:12 -0600
|
|
Subject: [PATCH 002/179] brcmfmac: support AP isolation
|
|
|
|
Hostap daemon has a parameter "ap_isolate which is used to prevent
|
|
low-level bridging of frames between associated stations in the BSS.
|
|
For driver side, we add cfg80211 ops method change_bss to support
|
|
setting AP isolation from user space.
|
|
|
|
Signed-off-by: Wright Feng <wright.feng@cypress.com>
|
|
Signed-off-by: Chi-hsien Lin <chi-hsien.lin@cypress.com>
|
|
---
|
|
.../broadcom/brcm80211/brcmfmac/cfg80211.c | 21 +++++++++++++++++++
|
|
1 file changed, 21 insertions(+)
|
|
|
|
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
index 9db12ffd2ff8..c264ea1fb527 100644
|
|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
|
|
@@ -5525,6 +5525,26 @@ static int brcmf_cfg80211_del_pmk(struct wiphy *wiphy, struct net_device *dev,
|
|
return brcmf_set_pmk(ifp, NULL, 0);
|
|
}
|
|
|
|
+static int
|
|
+brcmf_cfg80211_change_bss(struct wiphy *wiphy, struct net_device *dev,
|
|
+ struct bss_parameters *params)
|
|
+{
|
|
+ struct brcmf_if *ifp;
|
|
+ int ret = 0;
|
|
+ u32 ap_isolate;
|
|
+
|
|
+ brcmf_dbg(TRACE, "Enter\n");
|
|
+ ifp = netdev_priv(dev);
|
|
+ if (params->ap_isolate >= 0) {
|
|
+ ap_isolate = (u32)params->ap_isolate;
|
|
+ ret = brcmf_fil_iovar_int_set(ifp, "ap_isolate", ap_isolate);
|
|
+ if (ret < 0)
|
|
+ brcmf_err("ap_isolate iovar failed: ret=%d\n", ret);
|
|
+ }
|
|
+
|
|
+ return ret;
|
|
+}
|
|
+
|
|
static struct cfg80211_ops brcmf_cfg80211_ops = {
|
|
.add_virtual_intf = brcmf_cfg80211_add_iface,
|
|
.del_virtual_intf = brcmf_cfg80211_del_iface,
|
|
@@ -5572,6 +5592,7 @@ static struct cfg80211_ops brcmf_cfg80211_ops = {
|
|
.update_connect_params = brcmf_cfg80211_update_conn_params,
|
|
.set_pmk = brcmf_cfg80211_set_pmk,
|
|
.del_pmk = brcmf_cfg80211_del_pmk,
|
|
+ .change_bss = brcmf_cfg80211_change_bss,
|
|
};
|
|
|
|
struct cfg80211_ops *brcmf_cfg80211_get_ops(struct brcmf_mp_device *settings)
|
|
--
|
|
2.17.1
|
|
|