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.
This commit is contained in:
Bob Ham
2020-02-04 11:05:07 +00:00
parent 2c9760af66
commit e128210a27

View File

@@ -2408,11 +2408,11 @@ load_call_list_ready (MMIfaceModemVoice *self,
if (!MM_IFACE_MODEM_VOICE_GET_INTERFACE (self)->load_call_list_finish (self, res, &call_info_list, &error)) { 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); mm_warn ("couldn't load call list: %s", error->message);
g_error_free (error); g_error_free (error);
} } else {
/* Always report the list even if NULL (it would mean no ongoing calls) */ /* 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_iface_modem_voice_report_all_calls (self, call_info_list);
mm_3gpp_call_info_list_free (call_info_list); mm_3gpp_call_info_list_free (call_info_list);
}
/* setup the polling again */ /* setup the polling again */
g_assert (!ctx->polling_id); g_assert (!ctx->polling_id);