diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-02-16 14:26:36 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-02-16 14:26:36 +0000 |
commit | dd2ec671297204044578485e21931fcc3aaa0541 (patch) | |
tree | ae0ec05bbfe57574caec35a2dd9aa55f989a6465 /package/hostapd | |
parent | 940f064a150b57b8fc1c3197601134955b6a29f4 (diff) | |
download | upstream-dd2ec671297204044578485e21931fcc3aaa0541.tar.gz upstream-dd2ec671297204044578485e21931fcc3aaa0541.tar.bz2 upstream-dd2ec671297204044578485e21931fcc3aaa0541.zip |
hostapd: add back the patch that waits for interface bringup in ht40, it got lost with the update
Backport of r35619
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@35620 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/hostapd')
-rw-r--r-- | package/hostapd/patches/620-scan_wait.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/package/hostapd/patches/620-scan_wait.patch b/package/hostapd/patches/620-scan_wait.patch new file mode 100644 index 0000000000..5dd874ac0e --- /dev/null +++ b/package/hostapd/patches/620-scan_wait.patch @@ -0,0 +1,73 @@ +--- a/hostapd/main.c ++++ b/hostapd/main.c +@@ -32,6 +32,8 @@ + extern int wpa_debug_level; + extern int wpa_debug_show_keys; + extern int wpa_debug_timestamp; ++static int daemonize = 0; ++static char *pid_file = NULL; + + extern struct wpa_driver_ops *wpa_drivers[]; + +@@ -279,6 +281,14 @@ static int hostapd_driver_init(struct ho + return 0; + } + ++static void hostapd_setup_complete_cb(void *ctx) ++{ ++ if (daemonize && os_daemonize(pid_file)) { ++ perror("daemon"); ++ return; ++ } ++ daemonize = 0; ++} + + static struct hostapd_iface * + hostapd_interface_init(struct hapd_interfaces *interfaces, +@@ -298,6 +308,7 @@ hostapd_interface_init(struct hapd_inter + iface->bss[0]->conf->logger_stdout_level--; + } + ++ iface->bss[0]->setup_complete_cb = hostapd_setup_complete_cb; + if (iface->conf->bss[0].iface[0] != 0 || + hostapd_drv_none(iface->bss[0])) { + if (hostapd_driver_init(iface) || +@@ -310,7 +321,6 @@ hostapd_interface_init(struct hapd_inter + return iface; + } + +- + /** + * handle_term - SIGINT and SIGTERM handler to terminate hostapd process + */ +@@ -425,8 +435,6 @@ static void hostapd_global_deinit(const + #endif /* CONFIG_NATIVE_WINDOWS */ + + eap_server_unregister_methods(); +- +- os_daemonize_terminate(pid_file); + } + + +@@ -452,11 +460,6 @@ static int hostapd_global_run(struct hap + } + #endif /* EAP_SERVER_TNC */ + +- if (daemonize && os_daemonize(pid_file)) { +- perror("daemon"); +- return -1; +- } +- + eloop_run(); + + return 0; +@@ -540,8 +543,7 @@ int main(int argc, char *argv[]) + struct hapd_interfaces interfaces; + int ret = 1; + size_t i; +- int c, debug = 0, daemonize = 0; +- char *pid_file = NULL; ++ int c, debug = 0; + const char *log_file = NULL; + const char *entropy_file = NULL; + |