diff options
-rw-r--r-- | drivers/net/wireless/ath9k/main.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath9k/main.c b/drivers/net/wireless/ath9k/main.c index 7555c3413384..32acaf7ff622 100644 --- a/drivers/net/wireless/ath9k/main.c +++ b/drivers/net/wireless/ath9k/main.c | |||
@@ -279,8 +279,15 @@ static void ath9k_rx_prepare(struct ath_softc *sc, | |||
279 | rx_status->rate_idx = ath_rate2idx(sc, (status->rateKbps / 100)); | 279 | rx_status->rate_idx = ath_rate2idx(sc, (status->rateKbps / 100)); |
280 | rx_status->antenna = status->antenna; | 280 | rx_status->antenna = status->antenna; |
281 | 281 | ||
282 | /* XXX Fix me, 64 cannot be the max rssi value, rigure it out */ | 282 | /* at 45 you will be able to use MCS 15 reliably. A more elaborate |
283 | rx_status->qual = status->rssi * 100 / 64; | 283 | * scheme can be used here but it requires tables of SNR/throughput for |
284 | * each possible mode used. */ | ||
285 | rx_status->qual = status->rssi * 100 / 45; | ||
286 | |||
287 | /* rssi can be more than 45 though, anything above that | ||
288 | * should be considered at 100% */ | ||
289 | if (rx_status->qual > 100) | ||
290 | rx_status->qual = 100; | ||
284 | 291 | ||
285 | if (status->flags & ATH_RX_MIC_ERROR) | 292 | if (status->flags & ATH_RX_MIC_ERROR) |
286 | rx_status->flag |= RX_FLAG_MMIC_ERROR; | 293 | rx_status->flag |= RX_FLAG_MMIC_ERROR; |