aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hofmann <dan+2023-09+ModemManager+gitlab.freedesktop.org@latius.de>2023-09-24 19:05:44 +0000
committerAleksander Morgado <aleksander@aleksander.es>2023-10-05 08:12:36 +0000
commit9da04f6158cd64a92a41e3c9795f3e94afc26600 (patch)
treef50abbf8f91c9c91fb136ca2075e24c36a0df708
parented3871b394158855fed1a9d0f539ac6aec0f07ab (diff)
broadband-modem-qmi: Treat QMI_VOICE_USER_ACTION_UNKNOWN as QMI_VOICE_USER_ACTION_NOT_REQUIRED.
This fixes a bug where network-initiated USSD-Notify messages were not processed (and forwarded to higher-level applications) at all, while they should have been processed (and forwareded to higher-level applications). Previously, when there was a USSD conversation between the user and the network, the last message from the network (which, by definition, is not a message with user_action==QMI_VOICE_USER_ACTION_REQUIRED) would be silently dropped. The cause is a mismatch between the modem sending user_action==QMI_VOICE_USER_ACTION_UNKNOWN while old ModemManager expecting user_action==QMI_VOICE_USER_ACTION_NOT_REQUIRED.
-rw-r--r--src/mm-broadband-modem-qmi.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mm-broadband-modem-qmi.c b/src/mm-broadband-modem-qmi.c
index 265f6d5a..239834bd 100644
--- a/src/mm-broadband-modem-qmi.c
+++ b/src/mm-broadband-modem-qmi.c
@@ -9805,6 +9805,7 @@ process_ussd_message (MMBroadbandModemQmi *self,
switch (user_action) {
case QMI_VOICE_USER_ACTION_NOT_REQUIRED:
+ case QMI_VOICE_USER_ACTION_UNKNOWN: /* Treat unknown user action as user action not required. */
/* no response, or a response to user's request? */
if (!utf8 || task)
break;
@@ -9822,7 +9823,6 @@ process_ussd_message (MMBroadbandModemQmi *self,
mm_iface_modem_3gpp_ussd_update_network_request (MM_IFACE_MODEM_3GPP_USSD (self), utf8);
g_clear_pointer (&utf8, g_free);
break;
- case QMI_VOICE_USER_ACTION_UNKNOWN:
default:
/* Not an indication */
break;