From f3b10b961ff41a5a1ee9ce21cb236027a8b5e612 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Mon, 13 Oct 2008 14:08:10 -0700 Subject: [PATCH] --- yaml --- r: 121591 b: refs/heads/master c: 6e0e0bf80c963d83f511e1cda652630cf31ebf85 h: refs/heads/master i: 121589: b34167c22bf61379035e714fa49ffcd998f9504b 121587: 96b3537bfeff9331ab61b64b4c1762f63f471e12 121583: e95efc17e51ac3e484b884e607d34f98126fdbb5 v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/ath5k/base.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9ed8991cb2b2..61b3046b5676 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c49d154a800c55b8948e6d34563e593b500b31b9 +refs/heads/master: 6e0e0bf80c963d83f511e1cda652630cf31ebf85 diff --git a/trunk/drivers/net/wireless/ath5k/base.c b/trunk/drivers/net/wireless/ath5k/base.c index c98380845fa7..b1e9a47c1c55 100644 --- a/trunk/drivers/net/wireless/ath5k/base.c +++ b/trunk/drivers/net/wireless/ath5k/base.c @@ -1778,7 +1778,17 @@ ath5k_tasklet_rx(unsigned long data) rxs.noise = sc->ah->ah_noise_floor; rxs.signal = rxs.noise + rs.rs_rssi; - rxs.qual = rs.rs_rssi * 100 / 64; + + /* An rssi of 35 indicates you should be able use + * 54 Mbps reliably. A more elaborate scheme can be used + * here but it requires a map of SNR/throughput for each + * possible mode used */ + rxs.qual = rs.rs_rssi * 100 / 35; + + /* rssi can be more than 35 though, anything above that + * should be considered at 100% */ + if (rxs.qual > 100) + rxs.qual = 100; rxs.antenna = rs.rs_antenna; rxs.rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate);