UPSTREAM: mm-sim-mbim: Remove trailing F in ICCID QMI modems remove trailing F in 19 digit ICCID. Do the same on MBIM modems for consistency. Without this change, Hermes and MM expose two different iccid's to Chrome for the same profile. BUG=b:187355104 TEST=manual Change-Id: I86e326e205804705beead8e7b612f1a260e620fc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/modemmanager-next/+/3059526 Tested-by: Pavan Holla <pholla@google.com> Auto-Submit: Pavan Holla <pholla@google.com> Commit-Queue: Eric Caruso <ejcaruso@chromium.org> Reviewed-by: Eric Caruso <ejcaruso@chromium.org>
diff --git a/src/mm-sim-mbim.c b/src/mm-sim-mbim.c index 8be1a2e..68a7ccd 100644 --- a/src/mm-sim-mbim.c +++ b/src/mm-sim-mbim.c
@@ -85,7 +85,8 @@ { MbimMessage *response; GError *error = NULL; - gchar *sim_iccid; + gchar *sim_iccid = NULL; + g_autofree gchar *raw_iccid = NULL; response = mbim_device_command_finish (device, res, &error); if (response && @@ -94,14 +95,18 @@ response, NULL, /* ready_state */ NULL, /* subscriber_id */ - &sim_iccid, + &raw_iccid, NULL, /* ready_info */ NULL, /* telephone_numbers_count */ NULL, /* telephone_numbers */ &error)) - g_task_return_pointer (task, sim_iccid, g_free); - else + sim_iccid = mm_3gpp_parse_iccid (raw_iccid, &error); + + if (error) g_task_return_error (task, error); + else + g_task_return_pointer (task, sim_iccid, g_free); + g_object_unref (task); if (response)