diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile index 172e89b25..6f3c639e6 100644 --- a/package/hostapd/Makefile +++ b/package/hostapd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=hostapd PKG_VERSION:=20100705 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_REV:=2f1ce78bf78cecd7021385b04a4f55f22e76ab97 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 diff --git a/package/hostapd/patches/420-stbc_fix_backport.patch b/package/hostapd/patches/420-stbc_fix_backport.patch index e448a01fb..89998d9fc 100644 --- a/package/hostapd/patches/420-stbc_fix_backport.patch +++ b/package/hostapd/patches/420-stbc_fix_backport.patch @@ -17,11 +17,9 @@ Tested only with the nl80211 driver and a STBC incapable STA. Signed-off-by: Helmut Schaa --- -diff --git a/src/ap/ieee802_11_ht.c b/src/ap/ieee802_11_ht.c -index 1b39a6a..b193ee0 100644 --- a/src/ap/ieee802_11_ht.c +++ b/src/ap/ieee802_11_ht.c -@@ -256,7 +256,15 @@ void hostapd_get_ht_capab(struct hostapd_data *hapd, +@@ -256,7 +256,15 @@ void hostapd_get_ht_capab(struct hostapd cap &= hapd->iconf->ht_capab; cap |= (hapd->iconf->ht_capab & HT_CAP_INFO_SMPS_DISABLED); diff --git a/package/hostapd/patches/600-terminate_on_setup_failure.patch b/package/hostapd/patches/600-terminate_on_setup_failure.patch new file mode 100644 index 000000000..9385413e5 --- /dev/null +++ b/package/hostapd/patches/600-terminate_on_setup_failure.patch @@ -0,0 +1,81 @@ +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -706,11 +706,8 @@ int hostapd_setup_interface_complete(str + size_t j; + u8 *prev_addr; + +- if (err) { +- wpa_printf(MSG_ERROR, "Interface initialization failed"); +- eloop_terminate(); +- return -1; +- } ++ if (err) ++ goto error; + + wpa_printf(MSG_DEBUG, "Completing interface initialization"); + if (hapd->iconf->channel) { +@@ -726,7 +723,7 @@ int hostapd_setup_interface_complete(str + hapd->iconf->secondary_channel)) { + wpa_printf(MSG_ERROR, "Could not set channel for " + "kernel driver"); +- return -1; ++ goto error; + } + } + +@@ -736,7 +733,7 @@ int hostapd_setup_interface_complete(str + hostapd_logger(hapd, NULL, HOSTAPD_MODULE_IEEE80211, + HOSTAPD_LEVEL_WARNING, + "Failed to prepare rates table."); +- return -1; ++ goto error; + } + } + +@@ -744,14 +741,14 @@ int hostapd_setup_interface_complete(str + hostapd_set_rts(hapd, hapd->iconf->rts_threshold)) { + wpa_printf(MSG_ERROR, "Could not set RTS threshold for " + "kernel driver"); +- return -1; ++ goto error; + } + + if (hapd->iconf->fragm_threshold > -1 && + hostapd_set_frag(hapd, hapd->iconf->fragm_threshold)) { + wpa_printf(MSG_ERROR, "Could not set fragmentation threshold " + "for kernel driver"); +- return -1; ++ goto error; + } + + prev_addr = hapd->own_addr; +@@ -761,7 +758,7 @@ int hostapd_setup_interface_complete(str + if (j) + os_memcpy(hapd->own_addr, prev_addr, ETH_ALEN); + if (hostapd_setup_bss(hapd, j == 0)) +- return -1; ++ goto error; + if (hostapd_mac_comp_empty(hapd->conf->bssid) == 0) + prev_addr = hapd->own_addr; + } +@@ -773,7 +770,7 @@ int hostapd_setup_interface_complete(str + if (hostapd_driver_commit(hapd) < 0) { + wpa_printf(MSG_ERROR, "%s: Failed to commit driver " + "configuration", __func__); +- return -1; ++ goto error; + } + + wpa_printf(MSG_DEBUG, "%s: Setup of interface done.", +@@ -783,6 +780,11 @@ int hostapd_setup_interface_complete(str + iface->init_complete(iface); + + return 0; ++ ++error: ++ wpa_printf(MSG_ERROR, "Interface initialization failed"); ++ eloop_terminate(); ++ return -1; + } + +