108 lines
4.1 KiB
Diff
108 lines
4.1 KiB
Diff
|
From d3201adfe7d2219217a07ef16ef365ad59c1a89b Mon Sep 17 00:00:00 2001
|
||
|
From: Peter Oh <peter.oh@bowerswilkins.com>
|
||
|
Date: Tue, 29 May 2018 14:39:21 -0700
|
||
|
Subject: [PATCH 17/18] mesh: use right interface context to send DFS event
|
||
|
messages
|
||
|
|
||
|
use mesh interface context to send DFS event messages when
|
||
|
DFS events are on mesh interface.
|
||
|
|
||
|
Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com>
|
||
|
Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
|
||
|
---
|
||
|
src/ap/dfs.c | 27 +++++++++++++++++++--------
|
||
|
1 file changed, 19 insertions(+), 8 deletions(-)
|
||
|
|
||
|
--- a/src/ap/dfs.c
|
||
|
+++ b/src/ap/dfs.c
|
||
|
@@ -637,6 +637,17 @@ static unsigned int dfs_get_cac_time(str
|
||
|
}
|
||
|
|
||
|
|
||
|
+static void *get_message_ctx(struct hostapd_iface *iface)
|
||
|
+{
|
||
|
+#ifdef CONFIG_MESH
|
||
|
+ if (iface->mconf)
|
||
|
+ return iface->owner;
|
||
|
+#endif /* CONFIG_MESH */
|
||
|
+
|
||
|
+ return iface->bss[0]->msg_ctx;
|
||
|
+}
|
||
|
+
|
||
|
+
|
||
|
/*
|
||
|
* Main DFS handler
|
||
|
* 1 - continue channel/ap setup
|
||
|
@@ -719,7 +730,7 @@ int hostapd_handle_dfs(struct hostapd_if
|
||
|
/* Finally start CAC */
|
||
|
hostapd_set_state(iface, HAPD_IFACE_DFS);
|
||
|
wpa_printf(MSG_DEBUG, "DFS start CAC on %d MHz", iface->freq);
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_CAC_START
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_CAC_START
|
||
|
"freq=%d chan=%d sec_chan=%d, width=%d, seg0=%d, seg1=%d, cac_time=%ds",
|
||
|
iface->freq,
|
||
|
iface->conf->channel, iface->conf->secondary_channel,
|
||
|
@@ -768,7 +779,7 @@ int hostapd_dfs_complete_cac(struct host
|
||
|
int ht_enabled, int chan_offset, int chan_width,
|
||
|
int cf1, int cf2)
|
||
|
{
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_CAC_COMPLETED
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_CAC_COMPLETED
|
||
|
"success=%d freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d",
|
||
|
success, freq, ht_enabled, chan_offset, chan_width, cf1, cf2);
|
||
|
|
||
|
@@ -810,7 +821,7 @@ int hostapd_dfs_pre_cac_expired(struct h
|
||
|
int ht_enabled, int chan_offset, int chan_width,
|
||
|
int cf1, int cf2)
|
||
|
{
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_PRE_CAC_EXPIRED
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_PRE_CAC_EXPIRED
|
||
|
"freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d",
|
||
|
freq, ht_enabled, chan_offset, chan_width, cf1, cf2);
|
||
|
|
||
|
@@ -848,7 +859,7 @@ static int hostapd_dfs_start_channel_swi
|
||
|
|
||
|
wpa_printf(MSG_DEBUG, "DFS will switch to a new channel %d",
|
||
|
channel->chan);
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_NEW_CHANNEL
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_NEW_CHANNEL
|
||
|
"freq=%d chan=%d sec_chan=%d", channel->freq,
|
||
|
channel->chan, secondary_channel);
|
||
|
|
||
|
@@ -935,7 +946,7 @@ static int hostapd_dfs_start_channel_swi
|
||
|
|
||
|
wpa_printf(MSG_DEBUG, "DFS will switch to a new channel %d",
|
||
|
channel->chan);
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_NEW_CHANNEL
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_NEW_CHANNEL
|
||
|
"freq=%d chan=%d sec_chan=%d", channel->freq,
|
||
|
channel->chan, secondary_channel);
|
||
|
|
||
|
@@ -997,7 +1008,7 @@ int hostapd_dfs_radar_detected(struct ho
|
||
|
{
|
||
|
int res;
|
||
|
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_RADAR_DETECTED
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_RADAR_DETECTED
|
||
|
"freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d",
|
||
|
freq, ht_enabled, chan_offset, chan_width, cf1, cf2);
|
||
|
|
||
|
@@ -1028,7 +1039,7 @@ int hostapd_dfs_nop_finished(struct host
|
||
|
int ht_enabled, int chan_offset, int chan_width,
|
||
|
int cf1, int cf2)
|
||
|
{
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_NOP_FINISHED
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_NOP_FINISHED
|
||
|
"freq=%d ht_enabled=%d chan_offset=%d chan_width=%d cf1=%d cf2=%d",
|
||
|
freq, ht_enabled, chan_offset, chan_width, cf1, cf2);
|
||
|
|
||
|
@@ -1078,7 +1089,7 @@ int hostapd_dfs_start_cac(struct hostapd
|
||
|
int ht_enabled, int chan_offset, int chan_width,
|
||
|
int cf1, int cf2)
|
||
|
{
|
||
|
- wpa_msg(iface->bss[0]->msg_ctx, MSG_INFO, DFS_EVENT_CAC_START
|
||
|
+ wpa_msg(get_message_ctx(iface), MSG_INFO, DFS_EVENT_CAC_START
|
||
|
"freq=%d chan=%d chan_offset=%d width=%d seg0=%d "
|
||
|
"seg1=%d cac_time=%ds",
|
||
|
freq, (freq - 5000) / 5, chan_offset, chan_width, cf1, cf2, 60);
|