diff --git a/plugins/huawei.c b/plugins/huawei.c index bdf7bc39..bb876701 100644 --- a/plugins/huawei.c +++ b/plugins/huawei.c @@ -583,9 +583,6 @@ static void modem_disconnect(gpointer user_data) g_at_chat_unref(data->modem); data->modem = NULL; - /* close gprs context driver */ - ofono_gprs_context_remove(data->gc); - /* reopen modem channel */ data->modem = open_device(modem, "Modem", "Modem: "); @@ -594,6 +591,10 @@ static void modem_disconnect(gpointer user_data) return; } + /* close previous gprs context driver */ + if (data->gc) + ofono_gprs_context_remove(data->gc); + /* configure modem channel */ g_at_chat_set_disconnect_function(data->modem, modem_disconnect, modem); g_at_chat_set_slave(data->modem, data->pcui);