aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-broadband-modem-mbim.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mm-broadband-modem-mbim.c b/src/mm-broadband-modem-mbim.c
index 81c81da0..0ed7ec42 100644
--- a/src/mm-broadband-modem-mbim.c
+++ b/src/mm-broadband-modem-mbim.c
@@ -4691,14 +4691,16 @@ update_packet_service_info (MMBroadbandModemMbim *self,
{
MMModem3gppPacketServiceState state;
- if (packet_service_state == self->priv->enabled_cache.packet_service_state)
- return;
-
- self->priv->enabled_cache.packet_service_state = packet_service_state;
+ /* Report the new value to the 3GPP interface right away, don't assume it has the same
+ * cached value. */
state = mm_modem_3gpp_packet_service_state_from_mbim_packet_service_state (packet_service_state);
mm_iface_modem_3gpp_update_packet_service_state (MM_IFACE_MODEM_3GPP (self), state);
+ if (packet_service_state == self->priv->enabled_cache.packet_service_state)
+ return;
+
/* PS reg state depends on the packet service state */
+ self->priv->enabled_cache.packet_service_state = packet_service_state;
update_registration_info (self,
FALSE,
self->priv->enabled_cache.reg_state,