summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJaehyun Kim <jeik01.kim@samsung.com>2021-10-18 19:24:51 +0900
committerJaehyun Kim <jeik01.kim@samsung.com>2021-11-24 21:55:33 +0900
commit7d0b729a491d0ee388cf3d0a73b87cd2f506c314 (patch)
tree7a14c5b3f2d2c801ce073c8ecbbe4b6f10942a29 /src
parente5cb500cd0a676f693b1503ac59eae08fe0c05c2 (diff)
downloadconnman-7d0b729a491d0ee388cf3d0a73b87cd2f506c314.tar.gz
connman-7d0b729a491d0ee388cf3d0a73b87cd2f506c314.tar.bz2
connman-7d0b729a491d0ee388cf3d0a73b87cd2f506c314.zip
Fix an incorrect value being used for signal score calculation
Change-Id: Ie09830257b804efdfb6990b9ea7030ba497ac542 Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/service.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/service.c b/src/service.c
index 36379b2a..f35ed684 100755
--- a/src/service.c
+++ b/src/service.c
@@ -7954,7 +7954,7 @@ static int calculate_score_frequency(struct connman_service *service)
switch (ins_settings.preferred_freq) {
case CONNMAN_INS_PREFERRED_FREQ_24GHZ:
- if ((frequency >= FREQ_RANGE_24GHZ_CHANNEL_14 &&
+ if ((frequency >= FREQ_RANGE_24GHZ_CHANNEL_1 &&
frequency <= FREQ_RANGE_24GHZ_CHANNEL_14) &&
(service->strength >= ins_settings.signal_level3_24ghz))
score += ins_settings.preferred_freq_score;
@@ -11183,8 +11183,13 @@ static void ins_setting_init(void)
ins_settings.preferred_freq_score = connman_setting_get_uint("INSPreferredFreqScore");
ins_settings.internet_score = connman_setting_get_uint("INSInternetScore");
- ins_settings.signal_level3_5ghz = connman_setting_get_int("INSSignalLevel3_5GHz");
- ins_settings.signal_level3_24ghz = connman_setting_get_int("INSSignalLevel3_24GHz");
+ /*
+ * In ConnMan, signal strength is used after being converted
+ * to positive value(signal strength + 120).
+ * So the value for comparison should also be converted to the same.
+ */
+ ins_settings.signal_level3_5ghz = connman_setting_get_int("INSSignalLevel3_5GHz") + 120;
+ ins_settings.signal_level3_24ghz = connman_setting_get_int("INSSignalLevel3_24GHz") + 120;
DBG("last_user_selection [%s]", ins_settings.last_user_selection ? "true" : "false");
DBG("last_user_selection_time [%d]", ins_settings.last_user_selection_time);