diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2022-11-22 11:07:22 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2022-11-22 11:07:22 +0000 |
commit | 49234bd235edd483e9c92f1a0087ca33de83138f (patch) | |
tree | 66eee88405951d5d76fa8ac4e39529535de7d055 /src | |
parent | f676420b572627c821ab83cce7b55dc118d88e37 (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.c | 4 |
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); } |