diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-08-12 23:37:52 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-08-12 23:37:52 -0500 |
commit | ecc774b0f2668fc28ac38d37dc5d5037f473be0b (patch) | |
tree | 2f1437716d52f3e55d1cba3ff7324eefce281d40 | |
parent | fa8f094a96af3043239b8e18e33cfc9e9bf3d26d (diff) | |
download | ofono-ecc774b0f2668fc28ac38d37dc5d5037f473be0b.tar.bz2 |
hsomodem: Use g_at_chat_clone
-rw-r--r-- | drivers/hsomodem/gprs-context.c | 6 | ||||
-rw-r--r-- | 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); } |