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:
@@ -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);
|
||||||
|
Reference in New Issue
Block a user