From owner-svn-src-all@FreeBSD.ORG Mon Apr 6 01:12:55 2015 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5441964C; Mon, 6 Apr 2015 01:12:55 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 36C6C91F; Mon, 6 Apr 2015 01:12:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t361CsOW080999; Mon, 6 Apr 2015 01:12:54 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t361CsCd080997; Mon, 6 Apr 2015 01:12:54 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <201504060112.t361CsCd080997@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Mon, 6 Apr 2015 01:12:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r281128 - head/sys/dev/ath/ath_hal/ar5212 X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2015 01:12:55 -0000 Author: adrian Date: Mon Apr 6 01:12:53 2015 New Revision: 281128 URL: https://svnweb.freebsd.org/changeset/base/281128 Log: Return the correct HAL data type for HAL_DIAG_ANI_STATS. I .. stupidly added code to return HAL_ANI_STATS to HAL_DIAG_ANI_STATS. I discovered this in a noisy environment when the returned values were enough to .. well, make everything terrible. So - restore functionality. Tested: * AR5416 (uses the AR5212 HAL), in a /very/ noisy 2GHz environment. Enough to trigger ANI to get upset and generate useful data. Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212.h head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212.h ============================================================================== --- head/sys/dev/ath/ath_hal/ar5212/ar5212.h Mon Apr 6 01:04:08 2015 (r281127) +++ head/sys/dev/ath/ath_hal/ar5212/ar5212.h Mon Apr 6 01:12:53 2015 (r281128) @@ -345,7 +345,9 @@ struct ath_hal_5212 { uint32_t ah_txBusy; uint32_t ah_rx_chainmask; uint32_t ah_tx_chainmask; - HAL_ANI_STATE ext_ani_state; + + /* Used to return ANI statistics to the diagnostic API */ + HAL_ANI_STATS ext_ani_stats; }; #define AH5212(_ah) ((struct ath_hal_5212 *)(_ah)) Modified: head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c ============================================================================== --- head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Mon Apr 6 01:04:08 2015 (r281127) +++ head/sys/dev/ath/ath_hal/ar5212/ar5212_misc.c Mon Apr 6 01:12:53 2015 (r281128) @@ -1052,7 +1052,7 @@ ar5212GetDiagState(struct ath_hal *ah, i void **result, uint32_t *resultsize) { struct ath_hal_5212 *ahp = AH5212(ah); - struct ar5212AniState *astate; + HAL_ANI_STATS *astats; (void) ahp; if (ath_hal_getdiagstate(ah, request, args, argsize, result, resultsize)) @@ -1084,27 +1084,15 @@ ar5212GetDiagState(struct ath_hal *ah, i 0 : sizeof(struct ar5212AniState); return AH_TRUE; case HAL_DIAG_ANI_STATS: - OS_MEMZERO(&ahp->ext_ani_state, sizeof(ahp->ext_ani_state)); - astate = ar5212AniGetCurrentState(ah); - if (astate == NULL) { + OS_MEMZERO(&ahp->ext_ani_stats, sizeof(ahp->ext_ani_stats)); + astats = ar5212AniGetCurrentStats(ah); + if (astats == NULL) { *result = NULL; *resultsize = 0; } else { - ahp->ext_ani_state.noiseImmunityLevel = - astate->noiseImmunityLevel; - ahp->ext_ani_state.spurImmunityLevel = - astate->spurImmunityLevel; - ahp->ext_ani_state.firstepLevel = - astate->firstepLevel; - ahp->ext_ani_state.ofdmWeakSigDetectOff = - astate->ofdmWeakSigDetectOff; - ahp->ext_ani_state.cckWeakSigThreshold = - astate->cckWeakSigThreshold; - ahp->ext_ani_state.listenTime = - astate->listenTime; - - *result = &ahp->ext_ani_state; - *resultsize = sizeof(ahp->ext_ani_state); + OS_MEMCPY(&ahp->ext_ani_stats, astats, sizeof(HAL_ANI_STATS)); + *result = &ahp->ext_ani_stats; + *resultsize = sizeof(ahp->ext_ani_stats); } return AH_TRUE; case HAL_DIAG_ANI_CMD: