- Jul 10, 2018
-
-
Aleksander Morgado authored
If we're going to overwrite the timezone context, make sure everything is cleaned up, including the signal handler. Otherwise, we may end up running the signal handler without a context attached: (gdb) bt #0 network_timezone_state_changed (self=0x6aa1e8) at mm-iface-modem-time.c:266 #1 0x76a8d418 in g_closure_invoke (closure=0x6c9810, return_value=0x0, return_value@entry=0x1, n_param_values=2, param_values=0x7edb58c0, param_values@entry=0x6cdab8, invocation_hint=invocation_hint@entry=0x7edb585c) at gclosure.c:804 #2 0x76a9e674 in signal_emit_unlocked_R (node=node@entry=0x6794d0, detail=0, detail@entry=391, instance=instance@entry=0x6aa1e8, emission_return=0x6794a8, emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7edb58c0) at gsignal.c:3629 #3 0x76aa31f4 in g_signal_emit_valist (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1, detail=detail@entry=6767564, var_args=..., var_args@entry=...) at gsignal.c:3385 #4 0x76aa34ec in g_signal_emit (instance=instance@entry=0x6aa1e8, signal_id=signal_id@entry=1, detail=391) at gsignal.c:3441 #5 0x76a91698 in g_object_dispatch_properties_changed (object=0x6aa1e8, n_pspecs=1, pspecs=<optimized out>) at gobject.c:1062 #6 0x76a90e7c in g_object_notify_queue_thaw (object=object@entry=0x6aa1e8, nqueue=nqueue@entry=0x75409418) at gobject.c:296 #7 0x76a9470c in g_object_set_valist (object=object@entry=0x6aa1e8, first_property_name=first_property_name@entry=0xad566 "iface-modem-state", var_args=..., var_args@entry=...) at gobject.c:2171 #8 0x76a94b18 in g_object_set (_object=_object@entry=0x6aa1e8, first_property_name=0xad566 "iface-modem-state") at gobject.c:2275 #9 0x0004b8a4 in __iface_modem_update_state_internal (self=0x6aa1e8, new_state=MM_MODEM_STATE_DISABLED, reason=MM_MODEM_STATE_CHANGE_REASON_USER_REQUESTED, failed_reason=MM_MODEM_STATE_FAILED_REASON_NONE) at mm-iface-modem.c:1487 #10 0x0007047c in disabling_context_free (ctx=0x6ba850) at mm-broadband-modem.c:9053 #11 0x76b4e538 in g_task_finalize (object=0x682488) at gtask.c:636 #12 0x76a92800 in g_object_unref (_object=0x682488) at gobject.c:3183 #13 0x00072154 in iface_modem_disable_ready (self=0x6aa1e8, result=0x7011b0, task=0x682488) at mm-broadband-modem.c:9101 #14 0x76b4e6ec in g_task_return_now (task=0x7011b0) at gtask.c:1107 #15 0x76b4e720 in complete_in_idle_cb (task=0x7011b0) at gtask.c:1121 #16 0x7694d144 in g_main_dispatch (context=0x6765a8) at gmain.c:3154 #17 g_main_context_dispatch (context=context@entry=0x6765a8) at gmain.c:3769 #18 0x7694d40c in g_main_context_iterate (context=0x6765a8, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 #19 0x7694d838 in g_main_loop_run (loop=0x6750d0) at gmain.c:4034 #20 0x0002bec0 in main (argc=<optimized out>, argv=<optimized out>) at main.c:181
-
The problem of full vendor blacklist are hubs. Because ATTRS{} matches all devices in the tree, a modem connected to a OpenMoko hub will be blacklisted as well.
-
- Jun 29, 2018
-
-
Fix the comment.
-
- Jun 27, 2018
-
-
Aleksander Morgado authored
==8663== 1 bytes in 1 blocks are definitely lost in loss record 5 of 4,864 ==8663== at 0x4C2CEDF: malloc (vg_replace_malloc.c:299) ==8663== by 0x669FAC9: g_malloc (in /usr/lib/libglib-2.0.so.0.5600.1) ==8663== by 0x66B9AEA: g_strndup (in /usr/lib/libglib-2.0.so.0.5600.1) ==8663== by 0x66ACE52: g_match_info_fetch (in /usr/lib/libglib-2.0.so.0.5600.1) ==8663== by 0x4E96DD2: mm_location_gps_raw_add_trace (mm-location-gps-raw.c:208) ==8663== by 0x18721E: mm_iface_modem_location_gps_update (mm-iface-modem-location.c:264) ==8663== by 0x1B9C7F: loc_location_nmea_indication_cb (mm-shared-qmi.c:712) ==8663== by 0x640C9E7: g_cclosure_marshal_VOID__BOXEDv (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x6409C95: ??? (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x64259E8: g_signal_emit_valist (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x642612F: g_signal_emit (in /usr/lib/libgobject-2.0.so.0.5600.1) ==8663== by 0x54AAB2D: process_indication (qmi-loc.c:7454) Reported by: Thomas Weißschuh <thomas@weissschuh.net>
-
- Jun 26, 2018
-
-
Aleksander Morgado authored
ModemManager[18223]: <debug> [1530023432.028473] Modem has 3GPP capabilities, enabling the Modem 3GPP interface... Thread 1 "ModemManager" received signal SIGSEGV, Segmentation fault. 0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545 6545 if (ctx->enable) (gdb) bt #0 0x0000555555618baa in common_enable_disable_unsolicited_events_signal_strength (task=0x5555558e4440) at mm-broadband-modem-qmi.c:6545 #1 0x0000555555618d70 in common_enable_disable_unsolicited_events (self=0x55555597a3f0, enable=1, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6719 #2 0x0000555555618e5b in modem_3gpp_enable_unsolicited_events (self=0x55555597a3f0, callback=0x5555555c8c20 <enable_unsolicited_events_ready>, user_data=0x5555559779b0) at mm-broadband-modem-qmi.c:6749 #3 0x00005555555c9095 in interface_enabling_step (task=0x5555559779b0) at mm-iface-modem-3gpp.c:1907 #4 0x00005555555c8c0a in setup_unsolicited_events_ready (self=0x55555597a3f0, res=0x5555558efad0, task=0x5555559779b0) at mm-iface-modem-3gpp.c:1795 #5 0x00007ffff681e204 in () at /usr/lib/libgio-2.0.so.0 #6 0x00007ffff681e239 in () at /usr/lib/libgio-2.0.so.0 #7 0x00007ffff62731d6 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #8 0x00007ffff62735b1 in () at /usr/lib/libglib-2.0.so.0 #9 0x00007ffff62738e2 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0 #10 0x000055555559182c in main (argc=2, argv=0x7fffffffe4a8) at main.c:181 Fixes: baefe53a
-
- Jun 22, 2018
-
-
After the tty is opened, the fd is passed off to a GIOChannel which manages it. When the serial port is closed with _close_internal(), g_io_channel_shutdown() is called which then calls g_io_unix_close() which in turn close()s the fd. _close_internal() performs a second explicit close() after the g_io_channel_shutdown() which *in the best case scenario* will fail with EBADF. This is a race condition that can result in other file descriptors being closed. This change avoids double closing the serial port fd -- the shutdown() call is removed in favour of the explicit close().
-
- Jun 19, 2018
-
-
Aleksander Morgado authored
From: Fabio Tomat <f.t.public@gmail.com> #42
-
- Jun 17, 2018
-
-
musl libc does not implement the canonicalize_file_name() GNU extension. Use the POSIX standard realpath() instead.
-
- Jun 13, 2018
-
-
GVfs' libgvfsdbus.so GIo module, when automatically loaded, attempts to discover if there's a session D-Bus instance to use. It tries real hard to get the socket name it would use -- in absence of XDG_RUNTIME_DIR it decides to make it up with user's home directory. When HOME is unset too, it just tries to figure it out by looking into /etc/passwd. Which upsets SELinux that would better not see us looking into it. We trigger the load of the GIo modules, by using the GFile API to access the the ports in /dev. They're utterly uesless to us, but there doesn't seem to be a way to disable their load. Oh well. For now, let's just ensure HOME is set and the problematic path in glib is not taken.
-
- Jun 11, 2018
-
-
Aleksander Morgado authored
The mm_call_list_add_call() takes a full reference to the call, so we can unref the original one safely.
-
Aleksander Morgado authored
-
- Jun 10, 2018
-
-
Aleksander Morgado authored
They were reversed; ringing in applies to incoming calls, ringing out applies to outgoing calls.
-
- Jun 09, 2018
-
-
Aleksander Morgado authored
-
- Jun 02, 2018
-
-
Commit 2a97e39cdd in libmim ("libmbim-glib: add additional cause codes to MbimNwError") added additional cause codes to MbimNwError. This patch maps some of those MbimNwError to MMMobileEquipmentError. This patch requires libmbim >= 1.17.1
-
assure_qmi_client() was created to help migrating MMBroadbandModemQmi code to use GTask. Now that all MMBroadbandModemQmi code has been migrated to use GTask, this patch removes the old ensure_qmi_client() and rename assure_qmi_client() as ensure_qmi_client().
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-