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)