From e128210a27e78b7d421993a610a12871ed922e19 Mon Sep 17 00:00:00 2001 From: Bob Ham Date: Tue, 4 Feb 2020 11:05:07 +0000 Subject: [PATCH] iface-modem-voice: report calls only if +CLCC was successful The BroadMobi BM818 can time out with +CLCC calls. When this happens, active calls are terminated due to reporting an empty list. To fix this, we only report the call list if the +CLCC didn't result in an error. --- src/mm-iface-modem-voice.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/mm-iface-modem-voice.c b/src/mm-iface-modem-voice.c index c5483c00..9a57aa00 100644 --- a/src/mm-iface-modem-voice.c +++ b/src/mm-iface-modem-voice.c @@ -2408,12 +2408,12 @@ load_call_list_ready (MMIfaceModemVoice *self, if (!MM_IFACE_MODEM_VOICE_GET_INTERFACE (self)->load_call_list_finish (self, res, &call_info_list, &error)) { mm_warn ("couldn't load call list: %s", error->message); g_error_free (error); + } else { + /* Always report the list even if NULL (it would mean no ongoing calls) */ + mm_iface_modem_voice_report_all_calls (self, call_info_list); + mm_3gpp_call_info_list_free (call_info_list); } - /* Always report the list even if NULL (it would mean no ongoing calls) */ - mm_iface_modem_voice_report_all_calls (self, call_info_list); - mm_3gpp_call_info_list_free (call_info_list); - /* setup the polling again */ g_assert (!ctx->polling_id); ctx->polling_id = g_timeout_add_seconds (CALL_LIST_POLLING_TIMEOUT_SECS,