diff options
Diffstat (limited to 'sys/dev/ath/ath_hal/ar5416/ar5416_ani.c')
-rw-r--r-- | sys/dev/ath/ath_hal/ar5416/ar5416_ani.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c b/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c index fadd5ad..3f9bc69 100644 --- a/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c +++ b/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c @@ -818,6 +818,7 @@ ar5416AniGetListenTime(struct ath_hal *ah) int32_t listenTime = 0; int good; HAL_SURVEY_SAMPLE hs; + HAL_CHANNEL_SURVEY *cs = AH_NULL; /* * We shouldn't see ah_curchan be NULL, but just in case.. @@ -827,13 +828,21 @@ ar5416AniGetListenTime(struct ath_hal *ah) return (0); } + cs = &ahp->ah_chansurvey; + /* * Fetch the current statistics, squirrel away the current - * sample. + * sample, bump the sequence/sample counter. */ OS_MEMZERO(&hs, sizeof(hs)); good = ar5416GetMibCycleCounts(ah, &hs); - ath_hal_survey_add_sample(ah, &hs); + if (cs != AH_NULL) { + OS_MEMCPY(&cs->samples[cs->cur_sample], &hs, sizeof(hs)); + cs->samples[cs->cur_sample].seq_num = cs->cur_seq; + cs->cur_sample = + (cs->cur_sample + 1) % CHANNEL_SURVEY_SAMPLE_COUNT; + cs->cur_seq++; + } if (ANI_ENA(ah)) aniState = ahp->ah_curani; |