X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Fsrc%2Frf.c;h=7bcff275fc22232029322b294273ee74781eab94;hb=4a7d98477a4c81b03e50c95a954d34141d77b614;hp=703bd4281d2492e37a9642e9728bac7ff44cd06e;hpb=7fe56f5344c292bede880f351a0d8eb710898c03;p=carl9170fw.git diff --git a/carlfw/src/rf.c b/carlfw/src/rf.c index 703bd42..7bcff27 100644 --- a/carlfw/src/rf.c +++ b/carlfw/src/rf.c @@ -136,7 +136,7 @@ static uint32_t AGC_calibration(uint32_t loop) uint32_t wrdata; uint32_t ret; -#define AGC_CAL_NF (AR9170_PHY_AGC_CONTROL_CAL | AR9170_PHY_AGC_CONTROL_NF); +#define AGC_CAL_NF (AR9170_PHY_AGC_CONTROL_CAL | AR9170_PHY_AGC_CONTROL_NF) wrdata = get_async(AR9170_PHY_REG_AGC_CONTROL) | AGC_CAL_NF; set(AR9170_PHY_REG_AGC_CONTROL, wrdata); @@ -144,14 +144,10 @@ static uint32_t AGC_calibration(uint32_t loop) ret = get_async(AR9170_PHY_REG_AGC_CONTROL) & AGC_CAL_NF; /* sitesurvey : 100 ms / current connected 200 ms */ - while (loop && ret != 0x0) { - ret = get_async(AR9170_PHY_REG_AGC_CONTROL) & AGC_CAL_NF; - - if (ret == 0) - break; - + while ((ret != 0) && loop--) { udelay(100); - loop--; + + ret = get_async(AR9170_PHY_REG_AGC_CONTROL) & AGC_CAL_NF; } /* return the AGC/Noise calibration state to the driver */