1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00

Add logic to ANI to tweak the firstep parameter when in hostap mode.

This is normally done based on the beacon RSSI but this isn't available
in hostap mode.

Obtained from:	Atheros
Sponsored by:	Hobnob, Inc.
This commit is contained in:
Adrian Chadd 2011-11-09 05:41:40 +00:00
parent fcf3bb80d5
commit 7f6a8cca83
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=227378

View File

@ -396,6 +396,18 @@ ar5416AniOfdmErrTrigger(struct ath_hal *ah)
return;
}
/*
* In the case of AP mode operation, we cannot bucketize beacons
* according to RSSI. Instead, raise Firstep level, up to max, and
* simply return.
*/
if (AH_PRIVATE(ah)->ah_opmode == HAL_M_HOSTAP) {
if (aniState->firstepLevel < params->maxFirstepLevel) {
if (ar5416AniControl(ah, HAL_ANI_FIRSTEP_LEVEL,
aniState->firstepLevel + 1))
return;
}
}
if (ANI_ENA_RSSI(ah)) {
int32_t rssi = BEACON_RSSI(ahp);
if (rssi > params->rssiThrHigh) {
@ -713,6 +725,19 @@ ar5416AniLowerImmunity(struct ath_hal *ah)
aniState = ahp->ah_curani;
params = aniState->params;
/*
* In the case of AP mode operation, we cannot bucketize beacons
* according to RSSI. Instead, lower Firstep level, down to min, and
* simply return.
*/
if (AH_PRIVATE(ah)->ah_opmode == HAL_M_HOSTAP) {
if (aniState->firstepLevel > 0) {
if (ar5416AniControl(ah, HAL_ANI_FIRSTEP_LEVEL,
aniState->firstepLevel - 1))
return;
}
}
if (ANI_ENA_RSSI(ah)) {
int32_t rssi = BEACON_RSSI(ahp);
if (rssi > params->rssiThrHigh) {