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)