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.
This commit is contained in:
Daniel Hofmann
2023-10-05 08:12:36 +00:00
committed by Aleksander Morgado
parent ed3871b394
commit 9da04f6158
+1 -1
View File
@@ -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;