aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Song <jinjian.song@fibocom.com>2022-05-07 16:20:08 +0800
committerAleksander Morgado <aleksander@aleksander.es>2022-05-20 11:35:52 +0200
commit0c67d93eddd897eab7b8b4eee3fa244d83cde9ee (patch)
treea759e274392dacf0dfb0ce30f0925c44ed6d1888
parent82b574a6e7917bd37eb9a3467bb628ce7271b04b (diff)
mm-bearer-mbim: fix connect_set_ready always parse result for needing to check NwError on failure
Issue and bugfix suggestion by Aleksander Morgado. Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/549
-rw-r--r--src/mm-bearer-mbim.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mm-bearer-mbim.c b/src/mm-bearer-mbim.c
index 4f5bba26..26769c9e 100644
--- a/src/mm-bearer-mbim.c
+++ b/src/mm-bearer-mbim.c
@@ -614,14 +614,15 @@ connect_set_ready (MbimDevice *device,
ctx = g_task_get_task_data (task);
response = mbim_device_command_finish (device, res, &error);
- if (!response ||
- (!mbim_message_response_get_result (response, MBIM_MESSAGE_TYPE_COMMAND_DONE, &error) &&
- (error->code != MBIM_STATUS_ERROR_FAILURE))) {
+ if (!response) {
g_task_return_error (task, error);
g_object_unref (task);
return;
}
+ /* always parse, because on failure we also check the NwError */
+ mbim_message_response_get_result (response, MBIM_MESSAGE_TYPE_COMMAND_DONE, &error);
+
if (mbim_device_check_ms_mbimex_version (device, 3, 0)) {
if (!mbim_message_ms_basic_connect_v3_connect_response_parse (
response,