diff options
| author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-03-27 10:42:47 +0000 | 
|---|---|---|
| committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-03-27 10:42:47 +0000 | 
| commit | e827a711a35efacd0220abfe79ab362db5a77db9 (patch) | |
| tree | 6152a8d66dd59100d19d70d520a282c5235efb70 /package/hostapd/patches/480-terminate_on_setup_failure.patch | |
| parent | ec7be8a5b2db78dadc0d38ff3cfc51be89535fff (diff) | |
hostapd: update to 20120326
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31080 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/hostapd/patches/480-terminate_on_setup_failure.patch')
| -rw-r--r-- | package/hostapd/patches/480-terminate_on_setup_failure.patch | 81 | 
1 files changed, 81 insertions, 0 deletions
| diff --git a/package/hostapd/patches/480-terminate_on_setup_failure.patch b/package/hostapd/patches/480-terminate_on_setup_failure.patch new file mode 100644 index 000000000..2735a4983 --- /dev/null +++ b/package/hostapd/patches/480-terminate_on_setup_failure.patch @@ -0,0 +1,81 @@ +--- a/src/ap/hostapd.c ++++ b/src/ap/hostapd.c +@@ -767,11 +767,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) { +@@ -787,7 +784,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; + 		} + 	} +  +@@ -798,7 +795,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; + 		} + 	} +  +@@ -806,14 +803,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; +@@ -823,7 +820,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; + 	} +@@ -835,7 +832,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; + 	} +  + 	/* +@@ -859,6 +856,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; + } +  +  | 
