diff options
| author | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-08 07:21:27 -0400 |
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-06-08 07:21:27 -0400 |
| commit | e635a01ea0a16cf7cd31ecd2305870385dca9be6 (patch) | |
| tree | c7153e7dee5caf6ac90d85694ff27e4d0b606290 /drivers/net/wireless/ath5k/phy.c | |
| parent | 143070e74630b9557e1bb64d899ff2cc5a1dcb48 (diff) | |
| parent | 947391cfbaa3b08558844c0b187bcd0223c3f660 (diff) | |
Merge branch 'next-mtd' of git://aeryn.fluff.org.uk/bjdooks/linux
Diffstat (limited to 'drivers/net/wireless/ath5k/phy.c')
| -rw-r--r-- | drivers/net/wireless/ath5k/phy.c | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/drivers/net/wireless/ath5k/phy.c b/drivers/net/wireless/ath5k/phy.c index 9e2faae5ae94..b48b29dca3d2 100644 --- a/drivers/net/wireless/ath5k/phy.c +++ b/drivers/net/wireless/ath5k/phy.c | |||
| @@ -1487,28 +1487,35 @@ ath5k_get_linear_pcdac_min(const u8 *stepL, const u8 *stepR, | |||
| 1487 | { | 1487 | { |
| 1488 | s8 tmp; | 1488 | s8 tmp; |
| 1489 | s16 min_pwrL, min_pwrR; | 1489 | s16 min_pwrL, min_pwrR; |
| 1490 | s16 pwr_i = pwrL[0]; | 1490 | s16 pwr_i; |
| 1491 | 1491 | ||
| 1492 | do { | 1492 | if (pwrL[0] == pwrL[1]) |
| 1493 | pwr_i--; | 1493 | min_pwrL = pwrL[0]; |
| 1494 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, | 1494 | else { |
| 1495 | pwrL[0], pwrL[1], | 1495 | pwr_i = pwrL[0]; |
| 1496 | stepL[0], stepL[1]); | 1496 | do { |
| 1497 | 1497 | pwr_i--; | |
| 1498 | } while (tmp > 1); | 1498 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, |
| 1499 | 1499 | pwrL[0], pwrL[1], | |
| 1500 | min_pwrL = pwr_i; | 1500 | stepL[0], stepL[1]); |
| 1501 | 1501 | } while (tmp > 1); | |
| 1502 | pwr_i = pwrR[0]; | 1502 | |
| 1503 | do { | 1503 | min_pwrL = pwr_i; |
| 1504 | pwr_i--; | 1504 | } |
| 1505 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, | ||
| 1506 | pwrR[0], pwrR[1], | ||
| 1507 | stepR[0], stepR[1]); | ||
| 1508 | |||
| 1509 | } while (tmp > 1); | ||
| 1510 | 1505 | ||
| 1511 | min_pwrR = pwr_i; | 1506 | if (pwrR[0] == pwrR[1]) |
| 1507 | min_pwrR = pwrR[0]; | ||
| 1508 | else { | ||
| 1509 | pwr_i = pwrR[0]; | ||
| 1510 | do { | ||
| 1511 | pwr_i--; | ||
| 1512 | tmp = (s8) ath5k_get_interpolated_value(pwr_i, | ||
| 1513 | pwrR[0], pwrR[1], | ||
| 1514 | stepR[0], stepR[1]); | ||
| 1515 | } while (tmp > 1); | ||
| 1516 | |||
| 1517 | min_pwrR = pwr_i; | ||
| 1518 | } | ||
| 1512 | 1519 | ||
| 1513 | /* Keep the right boundary so that it works for both curves */ | 1520 | /* Keep the right boundary so that it works for both curves */ |
| 1514 | return max(min_pwrL, min_pwrR); | 1521 | return max(min_pwrL, min_pwrR); |
