Function gemalto_modem_ready attempts to restart AT chat data->app after incomplete shutdown. As a result, new AT chat does not work as expected loosing AT commands.
Signed-off-by: Sergey Matyukevich <[email protected]> --- plugins/gemalto.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/plugins/gemalto.c b/plugins/gemalto.c index 238c7cc4..321c8c1b 100644 --- a/plugins/gemalto.c +++ b/plugins/gemalto.c @@ -222,6 +222,8 @@ static void sim_state_cb(gboolean present, gpointer user_data) struct ofono_modem *modem = user_data; struct gemalto_data *data = ofono_modem_get_data(modem); + DBG(""); + at_util_sim_state_query_free(data->sim_state_query); data->sim_state_query = NULL; @@ -241,6 +243,8 @@ static void cfun_enable(gboolean ok, GAtResult *result, gpointer user_data) struct ofono_modem *modem = user_data; struct gemalto_data *data = ofono_modem_get_data(modem); + DBG(""); + if (!ok) { g_at_chat_unref(data->app); data->app = NULL; @@ -451,6 +455,8 @@ static void gemalto_modem_ready(GAtResult *result, gpointer user_data) data->modem_ready_id = 0; data->trial_cmd_id = 0; + g_at_chat_cancel_all(data->app); + g_at_chat_unregister_all(data->app); g_at_chat_unref(data->app); data->app = open_device(app); @@ -466,6 +472,8 @@ static void gemalto_at_cb(gboolean ok, GAtResult *result, gpointer user_data) struct ofono_modem *modem = user_data; struct gemalto_data *data = ofono_modem_get_data(modem); + DBG(""); + g_at_chat_unregister(data->app, data->modem_ready_id); data->modem_ready_id = 0; -- 2.28.0 _______________________________________________ ofono mailing list -- [email protected] To unsubscribe send an email to [email protected]
