intercept IEEE80211_IOC_TXPOWER and service tx power changes immediately

This commit is contained in:
Sam Leffler 2008-10-27 17:12:41 +00:00
parent ec9ee5e727
commit 4b54a23144
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=184349

View File

@ -1566,7 +1566,23 @@ ath_reset(struct ifnet *ifp)
static int
ath_reset_vap(struct ieee80211vap *vap, u_long cmd)
{
return ath_reset(vap->iv_ic->ic_ifp);
struct ieee80211com *ic = vap->iv_ic;
struct ifnet *ifp = ic->ic_ifp;
struct ath_softc *sc = ifp->if_softc;
struct ath_hal *ah = sc->sc_ah;
switch (cmd) {
case IEEE80211_IOC_TXPOWER:
/*
* If per-packet TPC is enabled, then we have nothing
* to do; otherwise we need to force the global limit.
* All this can happen directly; no need to reset.
*/
if (!ath_hal_gettpc(ah))
ath_hal_settxpowlimit(ah, ic->ic_txpowlimit);
return 0;
}
return ath_reset(ifp);
}
static int