diff options
Diffstat (limited to 'drivers/hsomodem/gprs-context.c')
-rw-r--r-- | drivers/hsomodem/gprs-context.c | 6 |
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); } |