diff --git a/plugins/novatel.c b/plugins/novatel.c index 3bd53edc..77caa7ed 100644 --- a/plugins/novatel.c +++ b/plugins/novatel.c @@ -66,6 +66,7 @@ static void novatel_remove(struct ofono_modem *modem) ofono_modem_set_data(modem, NULL); + g_at_chat_unref(data->chat); g_free(data); } @@ -142,6 +143,8 @@ static int novatel_disable(struct ofono_modem *modem) if (!data->chat) return 0; + g_at_chat_cancel_all(data->chat); + g_at_chat_unregister_all(data->chat); g_at_chat_send(data->chat, "AT+CFUN=0", NULL, cfun_disable, modem, NULL);