mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-04 06:54:27 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/src/ap/hostapd.c
 | 
						|
+++ b/src/ap/hostapd.c
 | 
						|
@@ -717,11 +717,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) {
 | 
						|
@@ -737,7 +734,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;
 | 
						|
 		}
 | 
						|
 	}
 | 
						|
 
 | 
						|
@@ -748,7 +745,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;
 | 
						|
 		}
 | 
						|
 	}
 | 
						|
 
 | 
						|
@@ -756,14 +753,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;
 | 
						|
@@ -773,7 +770,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;
 | 
						|
 	}
 | 
						|
@@ -785,7 +782,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;
 | 
						|
 	}
 | 
						|
 
 | 
						|
 	if (hapd->setup_complete_cb)
 | 
						|
@@ -798,6 +795,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;
 | 
						|
 }
 | 
						|
 
 | 
						|
 
 |