Use estimated throughputs irrespective of RSSI delta for 6 GHz APs

APs in 6 GHz operating with LPI/VLP rules will have significantly lower
SNR values compared to 2.4/5 GHz band APs. Earlier, the estimated
throughputs were used for comparison only when the delta of SNRs between
both the APs was not greater than 7 and as a result for comparing 6 GHz
APs with 2.4/5 GHz APs, estimated throughputs were not getting used.

The estimated throughput calculations takes SNR value also into
consideration, hence remove RSSI delta check if any of the APs are from
the 6 GHz band. This change is limited to the 6 GHz band only in order
to avoid possible regressions with 2.4/5 GHz APs.

Signed-off-by: Vamsi Krishna <vamsin@codeaurora.org>
This commit is contained in:
Vamsi Krishna 2021-05-21 00:17:28 +05:30 committed by Jouni Malinen
parent 5e1e4cceb6
commit 6abfb1418c

View file

@ -2039,8 +2039,14 @@ static int wpa_scan_result_compar(const void *a, const void *b)
snr_b = snr_b_full = wb->level; snr_b = snr_b_full = wb->level;
} }
/* if SNR is close, decide by max rate or frequency band */ /* If SNR is close, decide by max rate or frequency band. For cases
if (snr_a && snr_b && abs(snr_b - snr_a) < 7) { * involving the 6 GHz band, use the throughput estimate irrespective
* of the SNR difference since the LPI/VLP rules may result in
* significant differences in SNR for cases where the estimated
* throughput can be considerably higher with the lower SNR. */
if (snr_a && snr_b && (abs(snr_b - snr_a) < 7 ||
is_6ghz_freq(wa->freq) ||
is_6ghz_freq(wb->freq))) {
if (wa->est_throughput != wb->est_throughput) if (wa->est_throughput != wb->est_throughput)
return (int) wb->est_throughput - return (int) wb->est_throughput -
(int) wa->est_throughput; (int) wa->est_throughput;