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:
committed by
Aleksander Morgado
parent
ed3871b394
commit
9da04f6158
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user