mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-30 21:44:27 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/src/ap/hostapd.c
 | |
| +++ b/src/ap/hostapd.c
 | |
| @@ -720,11 +720,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) {
 | |
| @@ -740,7 +737,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;
 | |
|  		}
 | |
|  	}
 | |
|  
 | |
| @@ -751,7 +748,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;
 | |
|  		}
 | |
|  	}
 | |
|  
 | |
| @@ -759,14 +756,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;
 | |
| @@ -776,7 +773,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;
 | |
|  	}
 | |
| @@ -788,7 +785,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;
 | |
|  	}
 | |
|  
 | |
|  	/*
 | |
| @@ -812,6 +809,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;
 | |
|  }
 | |
|  
 | |
|  
 |