summaryrefslogtreecommitdiffstats
path: root/src/emulator.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-05-24 13:45:26 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-05-24 13:45:26 -0500
commit4f7a2c06fd35aef082951f30d93e89fabec9b031 (patch)
tree8084f1df8981866b05e67a5ceda486dba3e759c5 /src/emulator.c
parent9bcce86ade61666bcd4983fca27c9473eb730820 (diff)
downloadofono-4f7a2c06fd35aef082951f30d93e89fabec9b031.tar.bz2
emulator: simplify ath callback
Diffstat (limited to 'src/emulator.c')
-rw-r--r--src/emulator.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/emulator.c b/src/emulator.c
index de9921ac..7bb48ba4 100644
--- a/src/emulator.c
+++ b/src/emulator.c
@@ -226,11 +226,6 @@ static void dun_ath_cb(GAtServer *server, GAtServerRequestType type,
DBG("");
- if (em->ppp == NULL) {
- g_at_server_send_final(server, G_AT_SERVER_RESULT_ERROR);
- return;
- }
-
switch (type) {
case G_AT_SERVER_REQUEST_TYPE_SET:
g_at_result_iter_init(&iter, result);
@@ -242,16 +237,18 @@ static void dun_ath_cb(GAtServer *server, GAtServerRequestType type,
if (val != 0)
goto error;
- g_at_ppp_unref(em->ppp);
- em->ppp = NULL;
-
- g_at_server_send_final(server, G_AT_SERVER_RESULT_OK);
- break;
+ /* Fall through */
case G_AT_SERVER_REQUEST_TYPE_COMMAND_ONLY:
+ if (em->ppp == NULL)
+ goto error;
+
g_at_ppp_unref(em->ppp);
em->ppp = NULL;
+ __ofono_private_network_release(em->pns_id);
+ em->pns_id = 0;
+
g_at_server_send_final(server, G_AT_SERVER_RESULT_OK);
break;