aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-04bearer-mbim: avoid accessing invalid session_id and nw_errorBen Chan
This patch fixes an issue in disconnect_set_ready(). If mbim_message_connect_response_parse(), `session_id' and `nw_error' are not set to a valid value, and thus shouldn't be used.
2017-08-03huawei: ensure MMBearerConnectResult populated into GSimpleAsyncResultBen Chan
During the CONNECT_3GPP_CONTEXT_STEP_LAST step, connect_3gpp_context_step() conditionally creates and populates a MMBearerConnectResult object into the GSimpleAsyncResult object when the ipv4_config field of the Connect3gppContext struct is set. That assumes the ipv4_config field is always initialized in connect_dhcp_check_ready() during the CONNECT_3GPP_CONTEXT_STEP_IP_CONFIG step. Instead of having such an assumption, this patch modifies connect_3gpp to always initialize the ipv4_config field, such that connect_3gpp_context_step() always populates a MMBearerConnectResult object into the GSimpleAsyncResult object.
2017-08-03sms-part-cdma: add missing break statements in cause_code_to_delivery_stateBen Chan
This patch fixes cause_code_to_delivery_state() by adding two missing break statements for the case ERROR_CLASS_TEMPORARY and ERROR_CLASS_PERMANENT in the `switch (error_class)` statement. Without the break statements, the switch always falls through to the default and returns MM_SMS_DELIVERY_STATE_UNKNOWN for an `error_class' of value ERROR_CLASS_TEMPORARY or ERROR_CLASS_PERMANENT.
2017-08-03novatel: avoid calling qcdm_result_unref on NULL QcdmResultBen Chan
2017-08-03libmm-glib,firmware: fix unique_id checksBen Chan
The following checks in mm_modem_firmware_select() and mm_modem_firmware_select_sync() could result in a NULL pointer dereference if `unique_id' is NULL: g_return_if_fail (unique_id != NULL || unique_id[0] == '\0') g_return_val_if_fail (unique_id != NULL || unique_id[0] == '\0', FALSE) This patch fixes the checks to properly verify that `unique_id' is neither NULL nor an empty string.
2017-08-03ublox: remove unused variableBen Chan
2017-08-03plugin-manager: remove unused variableBen Chan
2017-08-03call-list: remove unused variablesBen Chan
2017-08-03broadband-modem: remove unused variablesBen Chan
2017-08-03broadband-bearer: remove unused variableBen Chan
2017-08-03broadband-modem-mbim: remove unused variableBen Chan
2017-08-01telit-plugin: ignore QSS when SIM-ME interface is lockedCarlo Lobrano
With some modems, the lock/unlock of the SIM-ME interface with +CSIM=1/0 command is followed by #QSS unsolicited messages. With the current implementation, this messages are mistaken for SIM swap events and so the modem is first dropped and then re-probed. With this patch, the plugin takes into account the SIM-ME lock state when parsing #QSS unsolicited, so that the QSS handler can correctly elaborate the messages that are not related to SIM swap events.
2017-08-01broadband-modem: single g_object_get() call to read multiple propertiesAleksander Morgado
2017-08-01sim hot swap: improved error managementCarlo Lobrano
Currently, when SIM hot swap fails in either mm-iface or plugin, the ModemManager still opens ports context and prints a message saying that SIM hot swap is supported and that it's waiting for SIM insertion, instead of clearly saying that SIM hot swap is not working. This patch: 1. introduces a new property MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED which is FALSE by default and set to TRUE only when setup_sim_hot_swap_finish() succeded. 2. subordinates the completion of SIM hot swap setup (in mm-broadband-modem) and the related messages to the the value of MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED Finally, this patch replaces the MBIM's sim_hot_swap_on private property with the new property MM_IFACE_MODEM_SIM_HOT_SWAP_CONFIGURED, since they have the same meaning.
2017-07-31mmcli: description of the location-set-gps-refresh-rate optionValentin Blot
Commit 6c35878f12ab37604d85cb3a864e3859973bd195 introduced a new option for setting the refresh rate of location on DBus. This patch describes the option in the man page. https://bugs.freedesktop.org/show_bug.cgi?id=89924
2017-07-27bearer-mbim: avoid calling mbim_message_unref on NULL MbimMessageBen Chan
2017-07-24longcheer: port longcheer_custom_init to use GTaskBen Chan
2017-07-21longcheer: port set_current_modes to use GTaskBen Chan
2017-07-21longcheer: port load_unlock_retries to use GTaskBen Chan
2017-07-21longcheer: port load_supported_modes to use GTaskBen Chan
2017-07-19zte,icera: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTaskBen Chan
2017-07-19zte: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTaskBen Chan
2017-07-19zte: port modem_after_sim_unlock to use GTaskBen Chan
2017-07-19zte: port set_current_modes to use GTaskBen Chan
2017-07-19zte: port load_supported_modes to use GTaskBen Chan
2017-07-19zte: port load_unlock_retries to use GTaskBen Chan
2017-07-19altair-lte: port modem_3gpp_load_subscription_state, altair_pco_info_changed ↵Ben Chan
to use GTask
2017-07-19altair-lte: port modem_3gpp_disable_unsolicited_events to use GTaskBen Chan
2017-07-19altair-lte: port modem_3gpp_enable_unsolicited_events to use GTaskBen Chan
2017-07-19altair-lte: port modem_3gpp_{setup,cleanup}_unsolicited_events to use GTaskBen Chan
2017-07-19altair-lte: port load_current_bands to use GTaskBen Chan
2017-07-19altair-lte: port load_supported_bands to use GTaskBen Chan
2017-07-19altair-lte: port load_unlock_retries to use GTaskBen Chan
2017-07-19altair-lte: port load_current_capabilities to use GTaskBen Chan
2017-07-19altair-lte: port modem_create_bearer to use GTaskBen Chan
2017-07-19altair-lte: port modem_3gpp_run_registration_checks to use GTaskBen Chan
2017-07-19altair-lte: port disconnect_3gpp to use GTaskBen Chan
2017-07-19altair-lte: port connect_3gpp to use GTaskBen Chan
2017-07-19broadband-bearer: port initable_init_async to use GTaskBen Chan
2017-07-19broadband-bearer: port disconnect_{3gpp,cdma} to use GTaskBen Chan
2017-07-19broadband-bearer: port disconnect to use GTaskBen Chan
2017-07-19broadband-bearer: port connect_{3gpp,cdma} to use GTaskBen Chan
2017-07-19broadband-bearer: port connect to use GTaskBen Chan
2017-07-19broadband-bearer: port dial_3gpp to use GTaskBen Chan
2017-07-19broadband-bearer: fix crm_range_readyBen Chan
crm_range_ready() misses a return statement after it invokes interface_initialization_step(), which will lead to an invalid access of the already freed InitAsyncContext.
2017-07-19helpers: +CNUM parser doesn't return any errorAleksander Morgado
2017-07-19broadband-modem: if no own numbers returned, complete task with NULLAleksander Morgado
Fixes: 738deebfb4586ffff560d538f7809cf2fdee7132 Reported-by: Colin Helliwell <colin.helliwell@ln-systems.com>
2017-07-18broadband-modem: plug memleak in init_current_storages()Aleksander Morgado
==28664== 4 bytes in 1 blocks are definitely lost in loss record 33 of 4,317 ==28664== at 0x4C2BE1F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x4C2E164: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x644E0CF: g_realloc (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C06: ??? (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C61: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x4E8514A: mm_common_build_sms_storages_string (mm-common-helpers.c:116) ==28664== by 0x489035: cpms_query_ready (mm-broadband-modem.c:5428) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x44EADF: at_command_ready (mm-base-modem-at.c:503) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x4D8122: serial_command_ready (mm-port-serial-at.c:392) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== ==28664== 4 bytes in 1 blocks are definitely lost in loss record 34 of 4,317 ==28664== at 0x4C2BE1F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x4C2E164: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x644E0CF: g_realloc (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C06: ??? (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C61: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x4E8514A: mm_common_build_sms_storages_string (mm-common-helpers.c:116) ==28664== by 0x489067: cpms_query_ready (mm-broadband-modem.c:5430) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x44EADF: at_command_ready (mm-base-modem-at.c:503) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2) ==28664== by 0x4D8122: serial_command_ready (mm-port-serial-at.c:392) ==28664== by 0x5E8E335: g_simple_async_result_complete (in /usr/lib/libgio-2.0.so.0.5200.2)
2017-07-18port-serial: plug memleak on error processingAleksander Morgado
==28664== 216 (120 direct, 96 indirect) bytes in 5 blocks are definitely lost in loss record 4,109 of 4,317 ==28664== at 0x4C2BEEF: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==28664== by 0x644E018: g_malloc (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6465B05: g_slice_alloc (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6469C32: g_string_sized_new (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x4D7861: parse_response (mm-port-serial-at.c:142) ==28664== by 0x4D3B52: parse_response_buffer (mm-port-serial.c:857) ==28664== by 0x4D40F2: common_input_available (mm-port-serial.c:981) ==28664== by 0x4D41B4: iochannel_input_available (mm-port-serial.c:1004) ==28664== by 0x64488B4: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6448C77: ??? (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x6448F91: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.5200.2) ==28664== by 0x438035: main (main.c:180)
2017-07-18broadband-modem: remove unneeded InitializationStartedContext structAleksander Morgado