aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2018-04-28 21:12:19 +0200
committerJo-Philipp Wich <jo@mein.io>2018-12-18 08:13:22 +0100
commita35f24309021c1c0e9cbed0faedf58b941cb4bd3 (patch)
tree9dcc560fbcac09a5494ffb34650fb0ee161ea4cd /package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch
parent5435e8023e956be4f8a21a8741fbe331db05960a (diff)
downloadupstream-a35f24309021c1c0e9cbed0faedf58b941cb4bd3.tar.gz
upstream-a35f24309021c1c0e9cbed0faedf58b941cb4bd3.tar.bz2
upstream-a35f24309021c1c0e9cbed0faedf58b941cb4bd3.zip
hostapd: update to git HEAD of 2018-05-21, allow build against wolfssl
Support for building wpa_supplicant/hostapd against wolfssl has been added upstream recently, add build option to allow users using it. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (backported from 69f544937f8498e856690f9809a016f0d7f5f68b) (rebased patches) Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch')
-rw-r--r--package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch b/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch
new file mode 100644
index 0000000000..9d6ac82bf6
--- /dev/null
+++ b/package/network/services/hostapd/patches/015-mesh-do-not-use-offchan-mgmt-tx-on-DFS.patch
@@ -0,0 +1,47 @@
+From 48f31256ffebfc43d6b14b93597aa2c7e2975dc4 Mon Sep 17 00:00:00 2001
+From: Peter Oh <peter.oh@bowerswilkins.com>
+Date: Tue, 17 Apr 2018 21:55:12 -0700
+Subject: [PATCH 15/16] mesh: do not use offchan mgmt tx on DFS
+
+Drivers don't allow mesh to use offchannel on management Tx.
+
+Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
+---
+ src/drivers/driver_nl80211.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/src/drivers/driver_nl80211.c
++++ b/src/drivers/driver_nl80211.c
+@@ -7165,6 +7165,10 @@ static int wpa_driver_nl80211_send_actio
+ struct wpa_driver_nl80211_data *drv = bss->drv;
+ int ret = -1;
+ u8 *buf;
++ int offchanok = 1;
++ u16 num_modes, flags;
++ struct hostapd_hw_modes *modes;
++ u8 dfs_domain;
+ struct ieee80211_hdr *hdr;
+
+ wpa_printf(MSG_DEBUG, "nl80211: Send Action frame (ifindex=%d, "
+@@ -7190,6 +7194,12 @@ static int wpa_driver_nl80211_send_actio
+ os_memset(bss->rand_addr, 0, ETH_ALEN);
+ }
+
++ if (is_mesh_interface(drv->nlmode) &&
++ (modes = nl80211_get_hw_feature_data(bss, &num_modes, &flags,
++ &dfs_domain)) &&
++ ieee80211_is_dfs(freq, modes, num_modes))
++ offchanok = 0;
++
+ if (is_ap_interface(drv->nlmode) &&
+ (!(drv->capa.flags & WPA_DRIVER_FLAGS_OFFCHANNEL_TX) ||
+ (int) freq == bss->freq || drv->device_ap_sme ||
+@@ -7201,7 +7211,7 @@ static int wpa_driver_nl80211_send_actio
+ ret = nl80211_send_frame_cmd(bss, freq, wait_time, buf,
+ 24 + data_len,
+ &drv->send_action_cookie,
+- no_cck, 0, 1, NULL, 0);
++ no_cck, 0, offchanok, NULL, 0);
+
+ os_free(buf);
+ return ret;