summaryrefslogtreecommitdiffstats
path: root/drivers/hsomodem/gprs-context.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/hsomodem/gprs-context.c')
-rw-r--r--drivers/hsomodem/gprs-context.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/hsomodem/gprs-context.c b/drivers/hsomodem/gprs-context.c
index 08c662fb..eedb7033 100644
--- a/drivers/hsomodem/gprs-context.c
+++ b/drivers/hsomodem/gprs-context.c
@@ -363,9 +363,9 @@ static int hso_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);
- g_at_chat_register(chat, "_OWANCALL:", owancall_notifier,
+ g_at_chat_register(gcd->chat, "_OWANCALL:", owancall_notifier,
FALSE, gc, NULL);
ofono_gprs_context_set_data(gc, gcd);
@@ -378,6 +378,8 @@ static void hso_gprs_context_remove(struct ofono_gprs_context *gc)
struct gprs_context_data *gcd = ofono_gprs_context_get_data(gc);
ofono_gprs_context_set_data(gc, NULL);
+
+ g_at_chat_unref(gcd->chat);
g_free(gcd);
}