fb4e68636e3ec860a33b9579100633b9cfe92157
[openwrt/staging/981213.git] /
1 From f1118eca5b1a63a4acb2a11ceea15dc4bc259c77 Mon Sep 17 00:00:00 2001
2 From: Peter Oh <peter.oh@bowerswilkins.com>
3 Date: Tue, 30 Jun 2020 14:19:01 +0200
4 Subject: [PATCH 13/19] mesh: inform kernel driver DFS handler in userspace
5
6 NL80211_ATTR_HANDLE_DFS is required by kerenel space
7 to enable DFS channels that indicates DFS handler
8 resides in userspace.
9
10 Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
11 ---
12 src/drivers/driver.h | 1 +
13 src/drivers/driver_nl80211.c | 3 +++
14 wpa_supplicant/mesh.c | 1 +
15 3 files changed, 5 insertions(+)
16
17 --- a/src/drivers/driver.h
18 +++ b/src/drivers/driver.h
19 @@ -1542,6 +1542,7 @@ struct wpa_driver_mesh_join_params {
20 #define WPA_DRIVER_MESH_FLAG_SAE_AUTH 0x00000004
21 #define WPA_DRIVER_MESH_FLAG_AMPE 0x00000008
22 unsigned int flags;
23 + u8 handle_dfs;
24 };
25
26 struct wpa_driver_set_key_params {
27 --- a/src/drivers/driver_nl80211.c
28 +++ b/src/drivers/driver_nl80211.c
29 @@ -10070,6 +10070,9 @@ static int nl80211_join_mesh(struct i802
30
31 wpa_printf(MSG_DEBUG, " * flags=%08X", params->flags);
32
33 + if (params->handle_dfs)
34 + if (nla_put_flag(msg, NL80211_ATTR_HANDLE_DFS))
35 + goto fail;
36 container = nla_nest_start(msg, NL80211_ATTR_MESH_SETUP);
37 if (!container)
38 goto fail;
39 --- a/wpa_supplicant/mesh.c
40 +++ b/wpa_supplicant/mesh.c
41 @@ -355,6 +355,7 @@ static int wpa_supplicant_mesh_init(stru
42 conf->country[0] = wpa_s->conf->country[0];
43 conf->country[1] = wpa_s->conf->country[1];
44 conf->country[2] = ' ';
45 + wpa_s->mesh_params->handle_dfs = 1;
46 }
47
48 bss->iconf = conf;