summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-04-27 22:03:56 +0000
committersam <sam@FreeBSD.org>2008-04-27 22:03:56 +0000
commit20ebf9deb0806cb9231272edbec6d75e64878d4c (patch)
treec8b3f2db4502a42a452682159d9f93d9f2a37a9d
parent46e9143c7ecabc970d7a2c3f53fb635ab645af83 (diff)
downloadFreeBSD-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.c5
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
OpenPOWER on IntegriCloud