24 lines
		
	
	
		
			716 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			716 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/ath/if_ath.c
 | 
						|
+++ b/ath/if_ath.c
 | 
						|
@@ -1260,7 +1260,10 @@ ath_vap_create(struct ieee80211com *ic, 
 | 
						|
 	case IEEE80211_M_IBSS:
 | 
						|
 		if ((sc->sc_nvaps != 0) && (ic->ic_opmode == IEEE80211_M_STA))
 | 
						|
 			return NULL;
 | 
						|
-		ic_opmode = opmode;
 | 
						|
+		if (ic->ic_opmode == IEEE80211_M_HOSTAP)
 | 
						|
+			ic_opmode = ic->ic_opmode;
 | 
						|
+		else
 | 
						|
+			ic_opmode = opmode;
 | 
						|
 		break;
 | 
						|
 	case IEEE80211_M_AHDEMO:
 | 
						|
 	case IEEE80211_M_MONITOR:
 | 
						|
@@ -1455,7 +1458,7 @@ ath_vap_create(struct ieee80211com *ic, 
 | 
						|
 	 * frames.  Other modes carry over directly to the HAL.
 | 
						|
 	 */
 | 
						|
 	if (ic->ic_opmode == IEEE80211_M_AHDEMO)
 | 
						|
-		sc->sc_opmode = HAL_M_IBSS;
 | 
						|
+		sc->sc_opmode = HAL_M_HOSTAP;
 | 
						|
 	else
 | 
						|
 		sc->sc_opmode = (HAL_OPMODE) ic->ic_opmode;	/* NB: compatible */
 | 
						|
 
 |