aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBob Ham <bob.ham@puri.sm>2020-02-04 11:05:07 +0000
committerBob Ham <bob.ham@puri.sm>2020-02-06 15:16:46 +0000
commite128210a27e78b7d421993a610a12871ed922e19 (patch)
tree96f38ae371319a108e8c172b2ad84714c82ad665 /src
parent2c9760af66454e492f601b9f12d3ad87de93765b (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/mm-iface-modem-voice.c8
1 files 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,