diff options
author | sam <sam@FreeBSD.org> | 2008-04-27 22:03:56 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2008-04-27 22:03:56 +0000 |
commit | 20ebf9deb0806cb9231272edbec6d75e64878d4c (patch) | |
tree | c8b3f2db4502a42a452682159d9f93d9f2a37a9d | |
parent | 46e9143c7ecabc970d7a2c3f53fb635ab645af83 (diff) | |
download | FreeBSD-src-20ebf9deb0806cb9231272edbec6d75e64878d4c.zip FreeBSD-src-20ebf9deb0806cb9231272edbec6d75e64878d4c.tar.gz |
restore the hal's channel list when doing getradiocaps so it's in sync with
the 802.11 layer's list
-rw-r--r-- | sys/dev/ath/if_ath.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/ath/if_ath.c b/sys/dev/ath/if_ath.c index 0d5ef91..db2ce87 100644 --- a/sys/dev/ath/if_ath.c +++ b/sys/dev/ath/if_ath.c @@ -5920,7 +5920,12 @@ ath_getradiocaps(struct ieee80211com *ic, ath_hal_setregdomain(ah, 0); /* XXX not quite right but close enough for now */ getchannels(sc, nchans, chans, CTRY_DEBUG, AH_TRUE, AH_FALSE); + + /* NB: restore previous state */ ath_hal_setregdomain(ah, ord); + (void) getchannels(sc, NULL, NULL, ic->ic_regdomain.country, + ic->ic_regdomain.ecm ? AH_TRUE : AH_FALSE, + ic->ic_regdomain.location == 'O' ? AH_TRUE : AH_FALSE); } static int |