48 lines
1.7 KiB
Diff
48 lines
1.7 KiB
Diff
From b1f03e0b2257ce0e32a0a55a75b1e89e121550ce Mon Sep 17 00:00:00 2001
|
|
From: Patrick Walther <patrick.walther@netmodule.com>
|
|
Date: Tue, 28 Jan 2020 15:14:35 +0100
|
|
|
|
---
|
|
src/ap/hostapd.c | 20 +++++++++++++++-----
|
|
1 file changed, 15 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
|
|
index ca282aad3..096e9751e 100644
|
|
--- a/src/ap/hostapd.c
|
|
+++ b/src/ap/hostapd.c
|
|
@@ -1347,10 +1347,9 @@ static int hostapd_setup_bss(struct hostapd_data *hapd, int first)
|
|
}
|
|
|
|
if (conf->ieee802_11f &&
|
|
- (hapd->iapp = iapp_init(hapd, conf->iapp_iface)) == NULL) {
|
|
- wpa_printf(MSG_ERROR, "IEEE 802.11F (IAPP) initialization "
|
|
- "failed.");
|
|
- return -1;
|
|
+ (hapd->iapp = iapp_init(hapd, hapd->conf->iapp_iface)) == NULL) {
|
|
+ hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
|
|
+ HOSTAPD_LEVEL_DEBUG, "IEEE 802.11F (IAPP) initialization failed. Try again later");
|
|
}
|
|
|
|
#ifdef CONFIG_INTERWORKING
|
|
@@ -3141,8 +3140,19 @@ void hostapd_new_assoc_sta(struct hostapd_data *hapd, struct sta_info *sta,
|
|
ap_sta_clear_disconnect_timeouts(hapd, sta);
|
|
|
|
/* IEEE 802.11F (IAPP) */
|
|
- if (hapd->conf->ieee802_11f)
|
|
+ if (hapd->conf->ieee802_11f) {
|
|
+ if (!hapd->iapp) {
|
|
+ hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
|
|
+ HOSTAPD_LEVEL_DEBUG, "IEEE 802.11F (IAPP) initialization try again");
|
|
+ hapd->iapp = iapp_init(hapd, hapd->conf->iapp_iface);
|
|
+ }
|
|
+ if (hapd->iapp) {
|
|
+ hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211,
|
|
+ HOSTAPD_LEVEL_DEBUG, "IEEE 802.11F (IAPP) initialization add new station");
|
|
iapp_new_station(hapd->iapp, sta);
|
|
+ }
|
|
+ }
|
|
+
|
|
|
|
#ifdef CONFIG_P2P
|
|
if (sta->p2p_ie == NULL && !sta->no_p2p_set) {
|