Filter out signal strength values of zero
authorSam Leffler <sleffler@google.com>
Mon, 19 Oct 2009 18:00:24 +0000 (11:00 -0700)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 20 Oct 2009 20:08:47 +0000 (22:08 +0200)
src/service.c

index 7986cd4..252ac29 100644 (file)
@@ -2189,6 +2189,14 @@ static void update_from_network(struct connman_service *service,
        service->strength = connman_network_get_uint8(network, "Strength");
        service->roaming = connman_network_get_bool(network, "Roaming");
 
+       if (service->strength == 0) {
+               /*
+                * Filter out 0-values; it's unclear what they mean
+                * and they cause anomalous sorting of the priority list.
+                */
+               service->strength = strength;
+       }
+
        str = connman_network_get_string(network, "WiFi.Mode");
        service->mode = convert_wifi_mode(str);