wlan: Roam if RSSI(candidate) > RSSI(curr AP) by gImmediateRoamRssiDiff.

If the potential roam candidate(s) found after the scan are much better
than the current AP, then there is no need to register for reassoc
threshold and wait until the notification is received to trigger the
roam. Since this duration is non-deterministic, the results/RSSI values
obtained from the scan (which are used to sort the candidates) might be
outdated. This could lead to roaming to a bad AP. This problem is being
fixed as follows:

Add a new configuration parameter in the INI file, namely,
gImmediateRoamRssiDiff. By default, this is set to 0. It can be
configured to a value in the range [0 .. 125] by issuing the following
command:
adb shell iwpriv wlan0 setConfig gImmediateRoamRssiDiff=<value>

Following a scan and if potential roam candidate(s) are found,
then determine whether to register for reassoc threshold or roam
immediately based on the above configuration parameter. If the RSSI of
any available candidate is better than the currently associated AP by at
least gImmediateRoamRssiDiff, then being to roam immediately (without
registering for reassoc threshold).

Fixed CRs: 427062

Change-Id: I56a86c039d680a635b38ee5d38c47f6451841a57
9 files changed
tree: 6e3b30d97f0cfbdc0d21093ed9415606783a6f00
  1. CORE/
  2. firmware_bin/
  3. riva/
  4. Kconfig
  5. Makefile