Blame SOURCES/0002-bearer-qmi-unsolicited-events-might-not-be-enabled-o.patch

6a41de
From 31f108aee1f328c8889b00547b212c4e3cb27fa2 Mon Sep 17 00:00:00 2001
6a41de
From: Lubomir Rintel <lkundrak@v3.sk>
6a41de
Date: Fri, 3 May 2019 18:07:33 +0200
6a41de
Subject: [PATCH 2/4] bearer-qmi: unsolicited events might not be enabled on
6a41de
 disconnect
6a41de
6a41de
If a disconnection fails (because stop_network() failed), base-bearer
6a41de
flips the state back to CONNECTED. Oops. At that point something is
6a41de
clearly messed up, but it seems correct to assume the bearer is
6a41de
connected.
6a41de
6a41de
Nevertheless, we will have already have unhooked the unsolicited eventsx
6a41de
reporting. A subsequent attempt to disconnect the bearer will trip the
6a41de
assertion:
6a41de
6a41de
  #0  0x00007ffff75f2eb5 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
6a41de
  #1  0x00007ffff75dd895 in __GI_abort () at abort.c:79
6a41de
  #2  0x00007ffff77beb53 in g_assertion_message
6a41de
      (domain=<optimized out>, file=<optimized out>, line=<optimized out>, func=0x5088e0 <__FUNCTION__.56253> "cleanup_event_report_unsolicited_events", message=<optimized out>) at ../glib/gtestutils.c:2878
6a41de
  #3  0x00007ffff781a96f in g_assertion_message_expr
6a41de
      (domain=domain@entry=0x0, file=file@entry=0x507aad "mm-bearer-qmi.c", line=line@entry=1138, func=func@entry=0x5088e0 <__FUNCTION__.56253> "cleanup_event_report_unsolicited_events", expr=expr@entry=0x507ae5 "*indication_id != 0") at ../glib/gtestutils.c:2904
6a41de
  #4  0x00000000004a0c49 in cleanup_event_report_unsolicited_events (client=<optimized out>, indication_id=0x5bb30c, self=<optimized out>)
6a41de
      at mm-bearer-qmi.c:1138
6a41de
  #5  0x00000000004a0c49 in cleanup_event_report_unsolicited_events
6a41de
      (client=<optimized out>, indication_id=indication_id@entry=0x5bb30c, self=0x5bb420 [MMBearerQmi]) at mm-bearer-qmi.c:1132
6a41de
  #6  0x00000000004a0ee3 in disconnect_context_step (task=0x7fffe8012100 [GTask]) at mm-bearer-qmi.c:1854
6a41de
  #7  0x000000000046e889 in disconnect_auth_ready (self=<optimized out>, res=<optimized out>, ctx=ctx@entry=0x654630)
6a41de
      at mm-iface-modem-simple.c:865
6a41de
  #8  0x00007ffff79cfa9a in g_task_return_now (task=0x7fffe8012640 [GTask]) at ../gio/gtask.c:1209
6a41de
  ...
6a41de
---
6a41de
 src/mm-bearer-qmi.c | 6 +++++-
6a41de
 1 file changed, 5 insertions(+), 1 deletion(-)
6a41de
6a41de
diff --git a/src/mm-bearer-qmi.c b/src/mm-bearer-qmi.c
6a41de
index c75d5e4..f8c6544 100644
6a41de
--- a/src/mm-bearer-qmi.c
6a41de
+++ b/src/mm-bearer-qmi.c
6a41de
@@ -970,7 +970,11 @@ cleanup_event_report_unsolicited_events (MMBearerQmi *self,
6a41de
 {
6a41de
     QmiMessageWdsSetEventReportInput *input;
6a41de
 
6a41de
-    g_assert (*indication_id != 0);
6a41de
+    if (*indication_id == 0) {
6a41de
+        mm_warn ("Reporting of unsolicited events already cleared");
6a41de
+        return;
6a41de
+    }
6a41de
+
6a41de
     g_signal_handler_disconnect (client, *indication_id);
6a41de
     *indication_id = 0;
6a41de
 
6a41de
-- 
6a41de
1.8.3.1
6a41de