diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2008-10-13 17:08:10 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-10-31 19:00:20 -0400 |
commit | 6e0e0bf80c963d83f511e1cda652630cf31ebf85 (patch) | |
tree | 3c9a28b4ba58cd7d51b659953214b5d93e4122cb | |
parent | c49d154a800c55b8948e6d34563e593b500b31b9 (diff) |
ath5k: correct ath5k signal quality
This adjusts ath5k's signal quality reporting taking into
consideration received beacons at an RSSI of 35 should indicate
you can use of 54 Mbps on a single stream card (all ath5k cards)
reliably.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index c98380845fa7..b1e9a47c1c55 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -1778,7 +1778,17 @@ accept: | |||
1778 | 1778 | ||
1779 | rxs.noise = sc->ah->ah_noise_floor; | 1779 | rxs.noise = sc->ah->ah_noise_floor; |
1780 | rxs.signal = rxs.noise + rs.rs_rssi; | 1780 | rxs.signal = rxs.noise + rs.rs_rssi; |
1781 | rxs.qual = rs.rs_rssi * 100 / 64; | 1781 | |
1782 | /* An rssi of 35 indicates you should be able use | ||
1783 | * 54 Mbps reliably. A more elaborate scheme can be used | ||
1784 | * here but it requires a map of SNR/throughput for each | ||
1785 | * possible mode used */ | ||
1786 | rxs.qual = rs.rs_rssi * 100 / 35; | ||
1787 | |||
1788 | /* rssi can be more than 35 though, anything above that | ||
1789 | * should be considered at 100% */ | ||
1790 | if (rxs.qual > 100) | ||
1791 | rxs.qual = 100; | ||
1782 | 1792 | ||
1783 | rxs.antenna = rs.rs_antenna; | 1793 | rxs.antenna = rs.rs_antenna; |
1784 | rxs.rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate); | 1794 | rxs.rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate); |