summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/network.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c
index ac4942ba..eb0f7972 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1405,6 +1405,14 @@ void ofono_netreg_strength_notify(struct ofono_netreg *netreg, int strength)
if (netreg->signal_strength == strength)
return;
+ /*
+ * Theoretically we can get signal strength even when not registered
+ * to any network. However, what do we do with it in that case?
+ */
+ if (netreg->status != NETWORK_REGISTRATION_STATUS_REGISTERED &&
+ netreg->status != NETWORK_REGISTRATION_STATUS_ROAMING)
+ return;
+
netreg->signal_strength = strength;
if (strength != -1) {