openwrt-owl/package/madwifi/patches/381-ibss_modes.patch

24 lines
714 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 */