]> Pileus Git - ~andy/linux/blobdiff - drivers/net/wireless/ath/ath9k/ar9003_paprd.c
Merge tag 'remove-local-timers' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / drivers / net / wireless / ath / ath9k / ar9003_paprd.c
index 09c1f9da67a05d9bbc1f715b61f31ee62bb23f00..6343cc91953e8090e753a7e26e74cf5339ee6b1c 100644 (file)
@@ -454,6 +454,8 @@ static bool create_pa_curve(u32 *data_L, u32 *data_U, u32 *pa_table, u16 *gain)
                if (accum_cnt <= thresh_accum_cnt)
                        continue;
 
+               max_index++;
+
                /* sum(tx amplitude) */
                accum_tx = ((data_L[i] >> 16) & 0xffff) |
                    ((data_U[i] & 0x7ff) << 16);
@@ -468,20 +470,21 @@ static bool create_pa_curve(u32 *data_L, u32 *data_U, u32 *pa_table, u16 *gain)
 
                accum_tx <<= scale_factor;
                accum_rx <<= scale_factor;
-               x_est[i + 1] = (((accum_tx + accum_cnt) / accum_cnt) + 32) >>
-                   scale_factor;
+               x_est[max_index] =
+                       (((accum_tx + accum_cnt) / accum_cnt) + 32) >>
+                       scale_factor;
 
-               Y[i + 1] = ((((accum_rx + accum_cnt) / accum_cnt) + 32) >>
+               Y[max_index] =
+                       ((((accum_rx + accum_cnt) / accum_cnt) + 32) >>
                            scale_factor) +
-                           (1 << scale_factor) * max_index + 16;
+                       (1 << scale_factor) * i + 16;
 
                if (accum_ang >= (1 << 26))
                        accum_ang -= 1 << 27;
 
-               theta[i + 1] = ((accum_ang * (1 << scale_factor)) + accum_cnt) /
-                   accum_cnt;
-
-               max_index++;
+               theta[max_index] =
+                       ((accum_ang * (1 << scale_factor)) + accum_cnt) /
+                       accum_cnt;
        }
 
        /*