summaryrefslogtreecommitdiffstats
path: root/drivers/mbmmodem
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-08-12 23:40:00 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-08-12 23:40:14 -0500
commitde94bf408225f72a2455f51a86db7077b5f1bf6c (patch)
treea4d74fc59900d1d03a1bdecb6d43a291caba24b2 /drivers/mbmmodem
parentecc774b0f2668fc28ac38d37dc5d5037f473be0b (diff)
downloadofono-de94bf408225f72a2455f51a86db7077b5f1bf6c.tar.bz2
mbmmodem: Use g_at_chat_clone
Diffstat (limited to 'drivers/mbmmodem')
-rw-r--r--drivers/mbmmodem/gprs-context.c9
-rw-r--r--drivers/mbmmodem/stk.c3
2 files changed, 8 insertions, 4 deletions
diff --git a/drivers/mbmmodem/gprs-context.c b/drivers/mbmmodem/gprs-context.c
index cca50871..c309fe42 100644
--- a/drivers/mbmmodem/gprs-context.c
+++ b/drivers/mbmmodem/gprs-context.c
@@ -444,12 +444,13 @@ static int mbm_gprs_context_probe(struct ofono_gprs_context *gc,
struct gprs_context_data *gcd;
gcd = g_new0(struct gprs_context_data, 1);
- gcd->chat = chat;
+ gcd->chat = g_at_chat_clone(chat);
ofono_gprs_context_set_data(gc, gcd);
- g_at_chat_send(chat, "AT*E2NAP=1", none_prefix, mbm_e2nap_cb, gc, NULL);
- g_at_chat_send(chat, "AT*E2IPCFG=?", e2ipcfg_prefix,
+ g_at_chat_send(gcd->chat, "AT*E2NAP=1", none_prefix,
+ mbm_e2nap_cb, gc, NULL);
+ g_at_chat_send(gcd->chat, "AT*E2IPCFG=?", e2ipcfg_prefix,
mbm_e2ipcfg_query_cb, gc, NULL);
return 0;
@@ -465,6 +466,8 @@ static void mbm_gprs_context_remove(struct ofono_gprs_context *gc)
}
ofono_gprs_context_set_data(gc, NULL);
+
+ g_at_chat_unref(gcd->chat);
g_free(gcd);
}
diff --git a/drivers/mbmmodem/stk.c b/drivers/mbmmodem/stk.c
index 74f8c26f..f9ff58ff 100644
--- a/drivers/mbmmodem/stk.c
+++ b/drivers/mbmmodem/stk.c
@@ -228,7 +228,7 @@ static int mbm_stk_probe(struct ofono_stk *stk, unsigned int vendor, void *data)
DBG("");
sd = g_new0(struct stk_data, 1);
- sd->chat = chat;
+ sd->chat = g_at_chat_clone(chat);
ofono_stk_set_data(stk, sd);
@@ -247,6 +247,7 @@ static void mbm_stk_remove(struct ofono_stk *stk)
ofono_stk_set_data(stk, NULL);
+ g_at_chat_unref(sd->chat);
g_free(sd);
}