summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-10-26 16:20:36 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-10-26 16:20:36 -0500
commitfe974ea4f245b8ba74a245d06fa0d6f68dd5fb90 (patch)
tree1402864b2e1b04858d11f1f2105f98b8f327e924
parentca4f75ca0b563627bf3b65e3cea102d72ef8e5e0 (diff)
downloadofono-fe974ea4f245b8ba74a245d06fa0d6f68dd5fb90.tar.bz2
Fixup initialization logic
-rw-r--r--src/gprs.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gprs.c b/src/gprs.c
index 5a5e4f26..e0346549 100644
--- a/src/gprs.c
+++ b/src/gprs.c
@@ -1238,7 +1238,7 @@ static void netreg_watch(struct ofono_atom *atom,
{
struct ofono_gprs *gprs = data;
- if (cond != OFONO_ATOM_WATCH_CONDITION_REGISTERED) {
+ if (cond == OFONO_ATOM_WATCH_CONDITION_UNREGISTERED) {
gprs->status_watch = 0;
gprs->netreg = NULL;
return;
@@ -1248,6 +1248,8 @@ static void netreg_watch(struct ofono_atom *atom,
gprs->netreg_status = ofono_netreg_get_status(gprs->netreg);
gprs->status_watch = __ofono_netreg_add_status_watch(gprs->netreg,
netreg_status_changed, gprs, NULL);
+
+ gprs_netreg_update(gprs);
}
void ofono_gprs_register(struct ofono_gprs *gprs)
@@ -1269,6 +1271,9 @@ void ofono_gprs_register(struct ofono_gprs *gprs)
ofono_modem_add_interface(modem, DATA_CONNECTION_MANAGER_INTERFACE);
+ /* TODO: Read Powered from SIM store */
+ gprs->powered = TRUE;
+
gprs->netreg_watch = __ofono_modem_add_atom_watch(modem,
OFONO_ATOM_TYPE_NETREG,
netreg_watch, gprs, NULL);
@@ -1279,7 +1284,6 @@ void ofono_gprs_register(struct ofono_gprs *gprs)
netreg_watch(netreg_atom,
OFONO_ATOM_WATCH_CONDITION_REGISTERED, gprs);
-
__ofono_atom_register(gprs->atom, gprs_unregister);
}