From ecc774b0f2668fc28ac38d37dc5d5037f473be0b Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 12 Aug 2010 23:37:52 -0500 Subject: [PATCH] hsomodem: Use g_at_chat_clone --- drivers/hsomodem/gprs-context.c | 6 ++++-- drivers/hsomodem/radio-settings.c | 4 +++- 2 files changed, 7 insertions(+), 3 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); } diff --git a/drivers/hsomodem/radio-settings.c b/drivers/hsomodem/radio-settings.c index 0b6a874c..3456339b 100644 --- a/drivers/hsomodem/radio-settings.c +++ b/drivers/hsomodem/radio-settings.c @@ -172,7 +172,7 @@ static int hso_radio_settings_probe(struct ofono_radio_settings *rs, if (!rsd) return -ENOMEM; - rsd->chat = chat; + rsd->chat = g_at_chat_clone(chat); ofono_radio_settings_set_data(rs, rsd); @@ -187,6 +187,8 @@ static void hso_radio_settings_remove(struct ofono_radio_settings *rs) struct radio_settings_data *rsd = ofono_radio_settings_get_data(rs); ofono_radio_settings_set_data(rs, NULL); + + g_at_chat_unref(rsd->chat); g_free(rsd); }