This patch fixes a embarrassing bug which was introduced by:
"[PATCH] ar9170: implement frequency calibration for one-stage/openfw"
The phy_data variable initialization has to done outside the for-loop
scope. This is because the for-loop uses u32 phy_data variable more
like a 4-byte field. But in each run only a single byte is calculated.
Therefore phy_data content needs to stay the same for at least 3 more
iterations, before the complete set can be uploaded.
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
        u8 vpds[2][AR5416_PD_GAIN_ICEPTS];
        u8 pwrs[2][AR5416_PD_GAIN_ICEPTS];
        int chain, idx, i;
-       u8 f;
+       u32 phy_data = 0;
+       u8 f, tmp;
 
        switch (channel->band) {
        case IEEE80211_BAND_2GHZ:
                }
 
                for (i = 0; i < 76; i++) {
-                       u32 phy_data;
-                       u8 tmp;
-
                        if (i < 25) {
                                tmp = ar9170_interpolate_val(i, &pwrs[0][0],
                                                             &vpds[0][0]);