aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAleksander Morgado <aleksandermj@chromium.org>2022-11-22 11:07:22 +0000
committerAleksander Morgado <aleksandermj@chromium.org>2022-11-22 11:07:22 +0000
commit49234bd235edd483e9c92f1a0087ca33de83138f (patch)
tree66eee88405951d5d76fa8ac4e39529535de7d055 /src
parentf676420b572627c821ab83cce7b55dc118d88e37 (diff)
broadband-modem-qmi: don't depend on other TLVs when processing Signal Info
When processing the NAS Signal Info message, don't assume that a previously processed TLV creates the MMSignal object for a given access technology.
Diffstat (limited to 'src')
-rw-r--r--src/mm-broadband-modem-qmi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c
index 0fa9f39f..875f984b 100644
--- a/src/mm-broadband-modem-qmi.c
+++ b/src/mm-broadband-modem-qmi.c
@@ -12053,6 +12053,8 @@ signal_load_values_get_signal_info_ready (QmiClientNas *client,
if (qmi_message_nas_get_signal_info_output_get_wcdma_rscp (output,
&rscp_umts,
NULL)) {
+ if (G_UNLIKELY (!ctx->values_result->umts))
+ ctx->values_result->umts = mm_signal_new ();
mm_signal_set_rscp (ctx->values_result->umts, (-1.0) * ((gdouble)rscp_umts));
}
@@ -12083,6 +12085,8 @@ signal_load_values_get_signal_info_ready (QmiClientNas *client,
if (qmi_message_nas_get_signal_info_output_get_5g_signal_strength_extended (output,
&rsrq_5g,
NULL)) {
+ if (G_UNLIKELY (!ctx->values_result->nr5g))
+ ctx->values_result->nr5g = mm_signal_new ();
mm_signal_set_rsrq (ctx->values_result->nr5g, (gdouble)rsrq_5g);
}