| 1 | --- a/ath/if_ath.c |
| 2 | +++ b/ath/if_ath.c |
| 3 | @@ -1260,7 +1260,10 @@ ath_vap_create(struct ieee80211com *ic, |
| 4 | case IEEE80211_M_IBSS: |
| 5 | if ((sc->sc_nvaps != 0) && (ic->ic_opmode == IEEE80211_M_STA)) |
| 6 | return NULL; |
| 7 | - ic_opmode = opmode; |
| 8 | + if (ic->ic_opmode == IEEE80211_M_HOSTAP) |
| 9 | + ic_opmode = ic->ic_opmode; |
| 10 | + else |
| 11 | + ic_opmode = opmode; |
| 12 | break; |
| 13 | case IEEE80211_M_AHDEMO: |
| 14 | case IEEE80211_M_MONITOR: |
| 15 | @@ -1455,7 +1458,7 @@ ath_vap_create(struct ieee80211com *ic, |
| 16 | * frames. Other modes carry over directly to the HAL. |
| 17 | */ |
| 18 | if (ic->ic_opmode == IEEE80211_M_AHDEMO) |
| 19 | - sc->sc_opmode = HAL_M_IBSS; |
| 20 | + sc->sc_opmode = HAL_M_HOSTAP; |
| 21 | else |
| 22 | sc->sc_opmode = (HAL_OPMODE) ic->ic_opmode; /* NB: compatible */ |
| 23 | |
| 24 | |