1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

madwifi: preserve the interface mode correctly when using wds with sta separation

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14195 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nbd
2009-01-26 02:57:44 +00:00
parent 64730cf10a
commit 857bb5029f
14 changed files with 39 additions and 38 deletions

View File

@@ -44,12 +44,13 @@
if (ic->ic_dev->flags & IFF_RUNNING) {
/* needs to disable hardware too */
@@ -1271,8 +1269,11 @@ ath_vap_create(struct ieee80211com *ic,
@@ -1271,8 +1269,12 @@ ath_vap_create(struct ieee80211com *ic,
} else
ic_opmode = opmode;
break;
- case IEEE80211_M_HOSTAP:
case IEEE80211_M_WDS:
+ ic_opmode = ic->ic_opmode;
+ if (!master)
+ return NULL;
+ break;
@@ -57,7 +58,7 @@
/* permit multiple APs and/or WDS links */
/* XXX sta+ap for repeater/bridge application */
if ((sc->sc_nvaps != 0) && (ic->ic_opmode == IEEE80211_M_STA))
@@ -1304,7 +1305,7 @@ ath_vap_create(struct ieee80211com *ic,
@@ -1304,7 +1306,7 @@ ath_vap_create(struct ieee80211com *ic,
}
avp = dev->priv;
@@ -66,7 +67,7 @@
/* override with driver methods */
vap = &avp->av_vap;
avp->av_newstate = vap->iv_newstate;
@@ -4209,8 +4210,7 @@ ath_calcrxfilter(struct ath_softc *sc)
@@ -4209,8 +4211,7 @@ ath_calcrxfilter(struct ath_softc *sc)
if (ic->ic_opmode == IEEE80211_M_STA ||
sc->sc_opmode == HAL_M_IBSS || /* NB: AHDEMO too */
(sc->sc_nostabeacons) || sc->sc_scanning ||
@@ -76,7 +77,7 @@
rfilt |= HAL_RX_FILTER_BEACON;
if (sc->sc_nmonvaps > 0)
rfilt |= (HAL_RX_FILTER_CONTROL | HAL_RX_FILTER_BEACON |
@@ -9030,8 +9030,6 @@ ath_calibrate(unsigned long arg)
@@ -9030,8 +9031,6 @@ ath_calibrate(unsigned long arg)
* set sc->beacons if we might need to restart
* them after ath_reset. */
if (!sc->sc_beacons &&