fb7772d481404f0a131044d5ee2f07c6c22f9b89
[librecmc/librecmc.git] /
1 From 593602b7f14be5c2695979639764b1c50f01bbec Mon Sep 17 00:00:00 2001
2 From: Peter Oh <peter.oh@bowerswilkins.com>
3 Date: Mon, 27 Aug 2018 14:28:49 -0700
4 Subject: [PATCH 7/7] 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 @@ -1436,6 +1436,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  /**
27 --- a/src/drivers/driver_nl80211.c
28 +++ b/src/drivers/driver_nl80211.c
29 @@ -9544,6 +9544,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 @@ -308,6 +308,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;