diff options
-rw-r--r-- | src/mm-bearer-qmi.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mm-bearer-qmi.c b/src/mm-bearer-qmi.c index c687db60..a9f7519c 100644 --- a/src/mm-bearer-qmi.c +++ b/src/mm-bearer-qmi.c @@ -1584,11 +1584,33 @@ reset_bearer_connection (MMBearerQmi *self, gboolean reset_ipv6) { if (reset_ipv4) { + if (self->priv->client_ipv4) { + if (self->priv->packet_service_status_ipv4_indication_id) + common_setup_cleanup_packet_service_status_unsolicited_events (self, + self->priv->client_ipv4, + FALSE, + &self->priv->packet_service_status_ipv4_indication_id); + if (self->priv->event_report_ipv4_indication_id) + cleanup_event_report_unsolicited_events (self, + self->priv->client_ipv4, + &self->priv->event_report_ipv4_indication_id); + } self->priv->packet_data_handle_ipv4 = 0; g_clear_object (&self->priv->client_ipv4); } if (reset_ipv6) { + if (self->priv->client_ipv6) { + if (self->priv->packet_service_status_ipv6_indication_id) + common_setup_cleanup_packet_service_status_unsolicited_events (self, + self->priv->client_ipv6, + FALSE, + &self->priv->packet_service_status_ipv6_indication_id); + if (self->priv->event_report_ipv6_indication_id) + cleanup_event_report_unsolicited_events (self, + self->priv->client_ipv6, + &self->priv->event_report_ipv6_indication_id); + } self->priv->packet_data_handle_ipv6 = 0; g_clear_object (&self->priv->client_ipv6); } |