summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-06-24 20:51:59 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-06-24 20:54:36 -0500
commit7f1a923ebf6cf36f7459f1ea2aedec4b301bbdb1 (patch)
treedbb763ce7e720ca98037db26017b158acd826939
parent17de318c768cd8c715d147b5640d73a6c4896ca6 (diff)
downloadofono-7f1a923ebf6cf36f7459f1ea2aedec4b301bbdb1.tar.bz2
hso: Don't query tech if not registered or roaming
{NetworkRegistration} [/hso0] LocationAreaCode = 34591 {NetworkRegistration} [/hso0] CellId = 5903759 {NetworkRegistration} [/hso0] Strength = 32 {NetworkRegistration} [/hso0] Strength = 22 {PrimaryDataContext} [/hso0/primarycontext1] Settings = dbus.Dictionary({}, signature=dbus.Signature('sv'), variant_level=1) {PrimaryDataContext} [/hso0/primarycontext1] Active = 0 {DataConnectionManager} [/hso0] Attached = 0 {NetworkRegistration} [/hso0] Status = searching {NetworkRegistration} [/hso0] Technology = umts <--- Oops {NetworkOperator} [/hso0/operator/26201] Status = available {NetworkRegistration} [/hso0] Name = {NetworkRegistration} [/hso0] Status = registered {NetworkRegistration} [/hso0] LocationAreaCode = 35342 {NetworkRegistration} [/hso0] CellId = 5903759 {NetworkRegistration} [/hso0] Technology = edge
-rw-r--r--drivers/atmodem/network-registration.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/atmodem/network-registration.c b/drivers/atmodem/network-registration.c
index 630e8ea6..b8ec012c 100644
--- a/drivers/atmodem/network-registration.c
+++ b/drivers/atmodem/network-registration.c
@@ -867,6 +867,9 @@ static void creg_notify(GAtResult *result, gpointer user_data)
&lac, &ci, &tech, nd->vendor) == FALSE)
return;
+ if (status != 1 && status != 5)
+ goto notify;
+
switch (nd->vendor) {
case OFONO_VENDOR_OPTION_HSO:
tq = g_new0(struct tech_query, 1);
@@ -890,6 +893,7 @@ static void creg_notify(GAtResult *result, gpointer user_data)
if ((status == 1 || status == 5) && tech == -1)
tech = nd->tech;
+notify:
ofono_netreg_status_notify(netreg, status, lac, ci, tech);
}