Age | Commit message (Collapse) | Author |
|
This commit fixes memory leaks that occur when invoking
mm_modem_3gpp_profile_manager_list function.
When processing the connection profile data retrieved from dbus
in build_list_results function, the iterator data (of GVariant type)
were not properly freed after use in the while loop.
==7903== 2,697 (144 direct, 2,553 indirect) bytes in 3 blocks are definitely lost in loss record 2,525 of 2,538
==7903== at 0x484086F: malloc (vg_replace_malloc.c:381)
==7903== by 0x4A13938: g_malloc (gmem.c:106)
==7903== by 0x4A2B1F4: g_slice_alloc (gslice.c:1069)
==7903== by 0x4A51322: UnknownInlinedFun (gvariant-core.c:486)
==7903== by 0x4A51322: UnknownInlinedFun (gvariant-core.c:624)
==7903== by 0x4A51322: g_variant_builder_end (gvariant.c:3718)
==7903== by 0x4C2FEC1: parse_value_from_blob.isra.0 (gdbusmessage.c:1866)
==7903== by 0x4C2FE8F: parse_value_from_blob.isra.0 (gdbusmessage.c:1766)
==7903== by 0x4C2FF37: parse_value_from_blob.isra.0 (gdbusmessage.c:1850)
==7903== by 0x4BF93A7: g_dbus_message_new_from_blob (gdbusmessage.c:2226)
==7903== by 0x4C09334: _g_dbus_worker_do_read_cb (gdbusprivate.c:750)
==7903== by 0x4B9EA79: g_task_return_now (gtask.c:1219)
==7903== by 0x4B9EABC: complete_in_idle_cb (gtask.c:1233)
==7903== by 0x4A0774A: g_idle_dispatch (gmain.c:5848)
Signed-off-by: Louis-Alexis Eyraud <louis-alexis.eyraud@unabiz.com>
|
|
mm-sleep-monitor-powerd.c: In function ‘signal_cb’:
mm-sleep-monitor-powerd.c:81:14: error: unused variable ‘is_about_to_suspend’ [-Werror=unused-variable]
81 | gboolean is_about_to_suspend;
| ^~~~~~~~~~~~~~~~~~~
mm-sleep-monitor-powerd.c: In function ‘on_pd_proxy_acquired’:
mm-sleep-monitor-powerd.c:100:11: error: unused variable ‘owner’ [-Werror=unused-variable]
100 | char *owner;
| ^~~~~
|
|
|
|
|
|
|
|
|
|
The newest QMI commands are already builtin the default compilation of
ModemManager.
|
|
|
|
Fixes 86f6d3351351f7143a7f1c5fb90ddb465089ac69
|
|
The log level of the libraries was not honoring the log level
configured in MM, so we would see debug messages reported even if the
default log level configured was INFO or MSG.
The format of the logs emitted by the libraries was also not following
the format of the rest of MM logs, e.g. they would not include timing
info in the logs which would make it hard to follow certain event
transitions.
Make the libraries logging use the ModemManager logging method, to fix
all those issues.
|
|
|
|
The SIM slots ptr array should have a proper GDestroyNotify, so that
whenever the array is unref-ed as part of the modem disposal logic,
the SIM objects (and the modem object references they keep) are also
unref-ed.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/571
|
|
Port to using g_autoptr() so that we avoid the gotos.
|
|
The skeleton property will be update automatically as they're bound.
|
|
|
|
We provide a consolidated method to update the PS/EPS/5GS registration
states, based on the actual state reported via NAS and the availabiity
or not of the DSD data RAT.
On this consolidated method, we now force the IDLE state for every
case where it would have been HOME/ROAMING if the data RAT reported
via the DSD service is unknown. This includes not only transitions
into the HOME/ROAMING state, but also transitions to unknown data RAT.
|
|
|
|
'SetPacketServiceState()'
|
|
for PS domain
"registered" state should not wholly depend on the PS/EPS/5GS domain
state reported by NAS.
It should listen to DSD system status for availabilty of data network
at modem before moving to 'registered' state".
|
|
A failure loading IMSI or ICCID (unless for the UNSUPPORTED case)
could be an indication that there is no SIM.
Ideally, the logic checking if a SIM swap happened should have checked
first if there is a SIM card in the slot, and only if there is one go
on to try to load IMSI or ICCID.
|
|
|
|
Modem/SIM implementations that keep cached info that is not supposed
to change during runtime of a modem may need to be notified about when
a suspend/resume has happened, so that they can clear and reload the
internally cached data.
|
|
|
|
If the modem was in disabled state, we still want to sync the Modem
interface, among other things to make sure no SIM event happened
during the system suspension.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/605
|
|
|
|
LTE Band 85 is supported by modems based on Qualcomm 9205 chipset.
|
|
MbimProviderState is a bitset, so don't try to match exact values in a
switch statement when converting to MMModem3gppNetworkAvailability.
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/524
|
|
Verify if ModemManager builds with everything disabled
|
|
Add a meson option -Dtests and --without-tests automake option
to disable the compilation of all available testcases.
This is useful for compiling projects with Flatpak such as
GNOME Control Center which disables all possible integrations since they
only need the DBus part of ModemManager.
Contributes to https://gitlab.gnome.org/GNOME/gnome-control-center/-/merge_requests/1392
|
|
The part generation logic is independent to whether the SMS send or
store operation failed, so just avoid doing the parts cleanup. E.g.
if we created the parts for store() but storing failed, the same parts
could still be used for send() successfully.
|
|
The internal list of parts in the base SMS object is created either
when the message is sent or when the message is stored.
The daemon should not expect the list of SMS parts to be empty upon a
store() operation requested via DBus, as the list of parts may have
already been created during send().
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/598
|
|
Similar to the EM7345 (also from Sierra Wireless), the GL7600 becomes
unresponsive after using "AT+CPOL?".
Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/595
|
|
If the SIM swap check using ICCID or IMSI fail, don't completely fail
the operation, as the other one may still succeed.
Fail the operation only if both checks failed.
|
|
|
|
|
|
Don't transfer state to the private info until we know the operation
has fully succeeded.
|
|
|
|
|
|
Always transition to the next step, and decide what to do based on the
state tracked by the previously run steps.
|
|
If for any reason "Refresh all" fails, don't return an error, as we
may have already configured SIM slot status correctly.
|
|
|
|
Also, don't make the "Get Slot Status" operation fatal; just go on
assuming that the slot status indications are unsupported.
|
|
Instead of connecting to the signal in multiple places, do it in one
single place in the logic.
|
|
It is possible that SIM IMSI might change in roaming conditions for a sim.
Register for UIM refresh indication always and reprobe if ICCID or IMSI changes for QMI modem.
|
|
|
|
|
|
|
|
Overwrite the base class with a QMI implementation
to send DTMF characters during a call. Uses the continuous DTMF
QMI messages to support both CDMA and 3GPP networks.
|
|
|
|
Do not use caps for 'call'
|