Merge cros/upstream to cros/master

Contains the following commits:
 96b89cc ci: bump image template to refresh CA certificates (Aleksander Morgado)
 b4b50c1 qmicli,gms: Remove duplicate memory free (Ana Cabral)
 49aae4d libqmi-glib: add DMS radio interface TDS value (Daniele Palmas)
 342eb5a qmi-firmware-update: use defaults if FLASH variables not reported (Aleksander Morgado)
 698c079 build: version bump to flag existence of new API (QMI_DMS_RADIO_INTERFACE_TDS) (Aleksander Morgado)
 653b3b8 build: Remove the unnecessary check to enable rmnet (Iñigo Martínez)
 043f475 qmi-device: add QMAPv5 link creation flags (Sean Tranchetti)
 9739699 libqmi-glib,rmnet: per flag symbol safeguards (Aleksander Morgado)
 b5bd693 collection,basic: Add QMI_MESSAGE_WDS_SET_LTE_ATTACH_PDN_LIST to basic collection (Andrew Lassalle)
 d960af3 build: Fix double quotes in rules file (Iñigo Martínez)
 295b75e build: add an option to not build man pages (Aleksander Morgado)
 236df67 qmicli,uim: replace 'dummy' with 'placeholder' (Aleksander Morgado)
 565fdf2 qmi-firmware-update: replace 'dummy' with 'placeholder' (Aleksander Morgado)
 430b678 swi-update: avoid using 'sanity' (Aleksander Morgado)
 2fdf2e0 Revert "CHROMIUM: Disable help2man doc generation" (Madhav)
 e7a2667 Merge cros/upstream to cros/master (Madhav)

BUG=b:204815284
TEST=emerge-trogdor libqmi && cros deploy && run tast

Cq-Depend: chromium:3290294
Change-Id: Ib7ae3b9e183939f6f8cb20f67bc67b8d07549287
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/libqmi/+/3290293
Reviewed-by: Daniel Winkler <danielwinkler@google.com>
Tested-by: Madhav <madhavadas@google.com>
Commit-Queue: Madhav <madhavadas@google.com>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 13219c9..90922a2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,7 +12,7 @@
   variables:
     FDO_UPSTREAM_REPO: mobile-broadband/libqmi
     FDO_DISTRIBUTION_VERSION: '20.04'
-    FDO_DISTRIBUTION_TAG: '2021-09-10.2'
+    FDO_DISTRIBUTION_TAG: '2021-10-03.1'
     FDO_DISTRIBUTION_PACKAGES: ca-certificates git gcc autoconf automake libtool
                                libgirepository1.0-dev libglib2.0-dev autopoint
                                gtk-doc-tools python-is-python3 libglib2.0-doc
diff --git a/data/qmi-collection-basic.json b/data/qmi-collection-basic.json
index 662bda9..e7ab674 100644
--- a/data/qmi-collection-basic.json
+++ b/data/qmi-collection-basic.json
@@ -102,6 +102,7 @@
     "QMI_MESSAGE_WDS_GET_PROFILE_SETTINGS",
     "QMI_MESSAGE_WDS_GET_LTE_ATTACH_PARAMETERS",
     "QMI_MESSAGE_WDS_GET_LTE_ATTACH_PDN_LIST",
+    "QMI_MESSAGE_WDS_SET_LTE_ATTACH_PDN_LIST",
 
     "QMI_MESSAGE_WDA_GET_DATA_FORMAT",
     "QMI_MESSAGE_WDA_SET_DATA_FORMAT",
diff --git a/docs/man/meson.build b/docs/man/meson.build
index e9810f7..9139142 100644
--- a/docs/man/meson.build
+++ b/docs/man/meson.build
@@ -10,16 +10,12 @@
   mans += [['qmi-firmware-update', [help2man, '--output=@OUTPUT@', '--name=Update firmware in QMI devices', qmi_firmware_update]]]
 endif
 
-# https://gitlab.freedesktop.org/mobile-broadband/libqmi/-/issues/75 was filed
-# to track the build failure on cross-compilation. This can be re-enabled when
-# the underlying issue is fixed
-#
-# foreach man: mans
-#   custom_target(
-#     man[0],
-#     output: man[0] + '.1',
-#     command: man[1],
-#     install: true,
-#     install_dir: qmi_mandir / 'man1',
-#   )
-# endforeach
+foreach man: mans
+  custom_target(
+    man[0],
+    output: man[0] + '.1',
+    command: man[1],
+    install: true,
+    install_dir: qmi_mandir / 'man1',
+  )
+endforeach
diff --git a/meson.build b/meson.build
index 3bb0259..c731214 100644
--- a/meson.build
+++ b/meson.build
@@ -3,7 +3,7 @@
 
 project(
   'libqmi', 'c',
-  version: '1.31.0',
+  version: '1.31.1',
   license: 'GPL2',
   default_options: [
     'buildtype=debugoptimized',
@@ -165,12 +165,7 @@
 endif
 
 # rmnet link management support
-enable_rmnet = false
-rmnet = get_option('rmnet')
-if not rmnet.disabled()
-  enable_rmnet = cc.has_type('struct ifla_rmnet_flags', prefix: '#include<linux/if_link.h>')
-  assert(enable_rmnet or rmnet.auto(), 'There is no \'rmnet\' link management support, use \'auto\' or \'disabled\' instead')
-endif
+enable_rmnet = not get_option('rmnet').disabled()
 config_h.set('RMNET_SUPPORT_ENABLED', enable_rmnet)
 
 # runtime MM check is optional, enabled by default
@@ -228,7 +223,12 @@
   subdir('docs/reference/libqmi-glib')
 endif
 
-help2man = find_program('help2man', required: false)
+help2man = find_program(
+  'help2man',
+# When meson >= 0.59 is popular enough, replace with
+# required: get_option('man').require(meson.can_run_host_binaries())
+  required: get_option('man'),
+)
 subdir('docs/man', if_found: help2man)
 
 configure_file(
@@ -242,6 +242,7 @@
   'Documentation': enable_gtk_doc,
   'bash completion': enable_bash_completion,
   'gobject introspection': enable_gir,
+  'man pages': help2man.found(),
 }, section: 'Build')
 
 summary({
diff --git a/meson_options.txt b/meson_options.txt
index 4d4f913..bee5daa 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -16,5 +16,6 @@
 
 option('introspection', type: 'feature', value: 'auto', description: 'build introspection support')
 option('gtk_doc', type: 'boolean', value: false, description: 'use gtk-doc to build documentation')
+option('man', type: 'feature', value: 'auto', description: 'build man pages using help2man')
 
 option('bash_completion', type: 'boolean', value: true, description: 'install bash completion files')
diff --git a/src/libqmi-glib/kernel/if_link_rmnet.h b/src/libqmi-glib/kernel/if_link_rmnet.h
index 7800e6b..19aebf1 100644
--- a/src/libqmi-glib/kernel/if_link_rmnet.h
+++ b/src/libqmi-glib/kernel/if_link_rmnet.h
@@ -8,14 +8,8 @@
 /* safe guard to avoid redefininig all these symbols if
  * the system provided kernel or libc headers already
  * define them */
-
 #if !defined IFLA_RMNET_MAX
 
-#define RMNET_FLAGS_INGRESS_DEAGGREGATION         (1U << 0)
-#define RMNET_FLAGS_INGRESS_MAP_COMMANDS          (1U << 1)
-#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4           (1U << 2)
-#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4            (1U << 3)
-
 enum {
 	IFLA_RMNET_UNSPEC,
 	IFLA_RMNET_MUX_ID,
@@ -32,4 +26,33 @@
 
 #endif /* IFLA_RMNET_MAX */
 
+/* per-flag safe guards, because these symbols may have been
+ * introduced in different kernel versions; we should only
+ * define those symbols not already defined by the available
+ * kernel headers */
+
+#if !defined RMNET_FLAGS_INGRESS_DEAGGREGATION
+# define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0)
+#endif
+
+#if !defined RMNET_FLAGS_INGRESS_MAP_COMMANDS
+# define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
+#endif
+
+#if !defined RMNET_FLAGS_INGRESS_MAP_CKSUMV4
+# define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
+#endif
+
+#if !defined RMNET_FLAGS_EGRESS_MAP_CKSUMV4
+# define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
+#endif
+
+#if !defined RMNET_FLAGS_INGRESS_MAP_CKSUMV5
+#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4)
+#endif
+
+#if !defined RMNET_FLAGS_EGRESS_MAP_CKSUMV5
+#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5)
+#endif
+
 #endif /* _QMI_IF_LINK_RMNET_H */
diff --git a/src/libqmi-glib/qmi-device.h b/src/libqmi-glib/qmi-device.h
index 4fb71b5..ce45cca 100644
--- a/src/libqmi-glib/qmi-device.h
+++ b/src/libqmi-glib/qmi-device.h
@@ -953,6 +953,8 @@
  * @QMI_DEVICE_ADD_LINK_FLAGS_NONE: none.
  * @QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV4: checksum offload (v4) is enabled in ingress path.
  * @QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4: checksum offload (v4) is enabled in egress path.
+ * @QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5: checksum offload (v5) is enabled in ingress path. Since 1.32.
+ * @QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5: checksum offload (v5) is enabled in egress path. Since 1.32.
  *
  * Flags specifying the behavior of the new link.
  *
@@ -962,6 +964,8 @@
     QMI_DEVICE_ADD_LINK_FLAGS_NONE                = 0,
     QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV4 = 1 << 1,
     QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4  = 1 << 2,
+    QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5 = 1 << 3,
+    QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5  = 1 << 4,
 } QmiDeviceAddLinkFlags;
 
 /**
diff --git a/src/libqmi-glib/qmi-enums-dms.h b/src/libqmi-glib/qmi-enums-dms.h
index 0434801..4cf8097 100644
--- a/src/libqmi-glib/qmi-enums-dms.h
+++ b/src/libqmi-glib/qmi-enums-dms.h
@@ -81,6 +81,7 @@
  * @QMI_DMS_RADIO_INTERFACE_GSM: GSM.
  * @QMI_DMS_RADIO_INTERFACE_UMTS: UMTS.
  * @QMI_DMS_RADIO_INTERFACE_LTE: LTE.
+ * @QMI_DMS_RADIO_INTERFACE_TDS: TDS. Since 1.32.
  * @QMI_DMS_RADIO_INTERFACE_5GNR: 5G NR. Since 1.26.
  *
  * Radio interface type.
@@ -93,6 +94,7 @@
     QMI_DMS_RADIO_INTERFACE_GSM        = 4,
     QMI_DMS_RADIO_INTERFACE_UMTS       = 5,
     QMI_DMS_RADIO_INTERFACE_LTE        = 8,
+    QMI_DMS_RADIO_INTERFACE_TDS        = 9,
     QMI_DMS_RADIO_INTERFACE_5GNR       = 10,
 } QmiDmsRadioInterface;
 
diff --git a/src/libqmi-glib/qmi-net-port-manager-rmnet.c b/src/libqmi-glib/qmi-net-port-manager-rmnet.c
index f10862f..887ad7e 100644
--- a/src/libqmi-glib/qmi-net-port-manager-rmnet.c
+++ b/src/libqmi-glib/qmi-net-port-manager-rmnet.c
@@ -543,8 +543,15 @@
         rmnet_flags |= RMNET_FLAGS_INGRESS_MAP_CKSUMV4;
     if (flags & QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV4)
         rmnet_flags |= RMNET_FLAGS_EGRESS_MAP_CKSUMV4;
+    if (flags & QMI_DEVICE_ADD_LINK_FLAGS_INGRESS_MAP_CKSUMV5)
+        rmnet_flags |= RMNET_FLAGS_INGRESS_MAP_CKSUMV5;
+    if (flags & QMI_DEVICE_ADD_LINK_FLAGS_EGRESS_MAP_CKSUMV5)
+        rmnet_flags |= RMNET_FLAGS_EGRESS_MAP_CKSUMV5;
+
     rmnet_mask = (RMNET_FLAGS_EGRESS_MAP_CKSUMV4  |
                   RMNET_FLAGS_INGRESS_MAP_CKSUMV4 |
+                  RMNET_FLAGS_EGRESS_MAP_CKSUMV5  |
+                  RMNET_FLAGS_INGRESS_MAP_CKSUMV5 |
                   RMNET_FLAGS_INGRESS_DEAGGREGATION);
 
     msg = netlink_message_new_link (ctx->mux_id, ctx->ifname, base_if_index, rmnet_flags, rmnet_mask);
diff --git a/src/qmi-firmware-update/qfu-firehose-message.c b/src/qmi-firmware-update/qfu-firehose-message.c
index bc58024..24b7a19 100644
--- a/src/qmi-firmware-update/qfu-firehose-message.c
+++ b/src/qmi-firmware-update/qfu-firehose-message.c
@@ -57,7 +57,7 @@
                 "<configure MemoryName=\"eMMC\" Verbose=\"0\" AlwaysValidate=\"0\" MaxDigestTableSizeInBytes=\"8192\" MaxPayloadSizeToTargetInBytes=\"%u\" ZlpAwareHost=\"0\" SkipStorageInit=\"0\" TargetName=\"8960\" />"
                 "%s",
                 FIREHOSE_MESSAGE_HEADER,
-                /* if not a specific value given, pass some dummy big value; we expect the modem
+                /* if not a specific value given, pass some placeholder big value; we expect the modem
                  * to return a NAK with the correct value to use after that. */
                 max_payload_size_to_target_in_bytes ? max_payload_size_to_target_in_bytes : 1048576,
                 FIREHOSE_MESSAGE_TRAILER);
diff --git a/src/qmi-firmware-update/qfu-sahara-device.c b/src/qmi-firmware-update/qfu-sahara-device.c
index dc239b1..583a906 100644
--- a/src/qmi-firmware-update/qfu-sahara-device.c
+++ b/src/qmi-firmware-update/qfu-sahara-device.c
@@ -50,7 +50,9 @@
 
 static GParamSpec *properties[PROP_LAST];
 
-#define MAX_PRINTABLE_SIZE 80
+#define DEFAULT_SECTOR_SIZE_IN_BYTES 4096
+#define DEFAULT_PAGES_IN_BLOCK       64
+#define MAX_PRINTABLE_SIZE           80
 
 struct _QfuSaharaDevicePrivate {
     GFile      *file;
@@ -60,8 +62,6 @@
     /* target and transfer settings */
     guint max_payload_size_to_target_in_bytes;
     guint sector_size_in_bytes;
-    guint num_partition_sectors;
-    guint total_sector_size_in_bytes;
     guint pages_in_block;
     /* computed from settings */
     guint transfer_block_size;
@@ -874,8 +874,6 @@
     FirehoseInitStep step;
     guint            max_payload_size_to_target_in_bytes;
     guint            sector_size_in_bytes;
-    guint            num_partition_sectors;
-    guint            total_sector_size_in_bytes;
     guint            pages_in_block;
 } FirehoseInitContext;
 
@@ -896,10 +894,6 @@
         g_strstrip (strv[1]);
         if (g_ascii_strcasecmp (strv[0], "sector_size_in_bytes") == 0)
             ctx->sector_size_in_bytes = atoi (strv[1]);
-        else if (g_ascii_strcasecmp (strv[0], "num_partition_sectors") == 0)
-            ctx->num_partition_sectors = atoi (strv[1]);
-        else if (g_ascii_strcasecmp (strv[0], "total_sector_size_in_bytes") == 0)
-            ctx->total_sector_size_in_bytes = atoi (strv[1]);
         else if (g_ascii_strcasecmp (strv[0], "pages_in_block") == 0)
             ctx->pages_in_block = atoi (strv[1]);
     }
@@ -1020,8 +1014,6 @@
         .step                                = FIREHOSE_INIT_STEP_PING,
         .max_payload_size_to_target_in_bytes = 0,
         .sector_size_in_bytes                = 0,
-        .num_partition_sectors               = 0,
-        .total_sector_size_in_bytes          = 0,
         .pages_in_block                      = 0,
     };
 
@@ -1037,21 +1029,23 @@
                                  error))
         return FALSE;
 
-#define VALIDATE_FIELD(FIELD,DESCR) do {                                          \
-        if (!ctx.FIELD) {                                                         \
-            g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "unknown " DESCR); \
-            return FALSE;                                                         \
-        }                                                                         \
-        self->priv->FIELD = ctx.FIELD;                                                \
-    } while (0)
+    if (!ctx.sector_size_in_bytes) {
+        g_debug ("[qfu-sahara-device] using default sector size (%u bytes)", DEFAULT_SECTOR_SIZE_IN_BYTES);
+        self->priv->sector_size_in_bytes = DEFAULT_SECTOR_SIZE_IN_BYTES;
+    } else
+        self->priv->sector_size_in_bytes = ctx.sector_size_in_bytes;
 
-    VALIDATE_FIELD (max_payload_size_to_target_in_bytes, "max payload size");
-    VALIDATE_FIELD (sector_size_in_bytes,                "sector size");
-    VALIDATE_FIELD (num_partition_sectors,               "number of partition sectors");
-    VALIDATE_FIELD (total_sector_size_in_bytes,          "total sector size");
-    VALIDATE_FIELD (pages_in_block,                      "pages in block");
+    if (!ctx.pages_in_block) {
+        g_debug ("[qfu-sahara-device] using default pages in block (%u)", DEFAULT_PAGES_IN_BLOCK);
+        self->priv->pages_in_block = DEFAULT_PAGES_IN_BLOCK;
+    } else
+        self->priv->pages_in_block = ctx.pages_in_block;
 
-#undef VALIDATE_FIELD
+    if (!ctx.max_payload_size_to_target_in_bytes) {
+        g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "unknown max payload size");
+        return FALSE;
+    }
+    self->priv->max_payload_size_to_target_in_bytes = ctx.max_payload_size_to_target_in_bytes;
 
     /* compute transfer block size, which will be equal to the max payload size
      * to target if it's multiple of sector size */
diff --git a/src/qmi-proxy/meson.build b/src/qmi-proxy/meson.build
index dd8f818..fa00c4a 100644
--- a/src/qmi-proxy/meson.build
+++ b/src/qmi-proxy/meson.build
@@ -16,7 +16,7 @@
   configure_file(
     input: '76-qmi-proxy-device-ownership.rules.in',
     output: '@BASENAME@',
-    configuration: config_h,
+    configuration: {'QMI_USERNAME': qmi_username},
     install_dir: udev_udevdir / 'rules.d',
   )
 endif
diff --git a/src/qmicli/qmicli-gms.c b/src/qmicli/qmicli-gms.c
index 98e3f30..e0050d3 100644
--- a/src/qmicli/qmicli-gms.c
+++ b/src/qmicli/qmicli-gms.c
@@ -187,7 +187,6 @@
         parts = g_strsplit_set (str, ",", -1);
         if (g_strv_length (parts) != 2) {
             g_printerr ("error: failed to parse test value: '%s'\n", str);
-            g_strfreev (parts);
             goto out;
         }
         mand_value_str = parts[0];
diff --git a/src/qmicli/qmicli-uim.c b/src/qmicli/qmicli-uim.c
index ff5b9fd..d88c73a 100644
--- a/src/qmicli/qmicli-uim.c
+++ b/src/qmicli/qmicli-uim.c
@@ -311,9 +311,9 @@
         qmicli_read_enable_disable_from_string (split[1], &enable_disable) &&
         qmicli_read_non_empty_string (split[2], "current PIN", &current_pin)) {
         GError *error = NULL;
-        GArray *dummy_aid;
+        GArray *placeholder_aid;
 
-        dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+        placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
         input = qmi_message_uim_set_pin_protection_input_new ();
         if (!qmi_message_uim_set_pin_protection_input_set_info (
@@ -325,7 +325,7 @@
             !qmi_message_uim_set_pin_protection_input_set_session (
                 input,
                 QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-                dummy_aid, /* ignored */
+                placeholder_aid, /* ignored */
                 &error)) {
             g_printerr ("error: couldn't create input data bundle: '%s'\n",
                         error->message);
@@ -333,7 +333,7 @@
             qmi_message_uim_set_pin_protection_input_unref (input);
             input = NULL;
         }
-        g_array_unref (dummy_aid);
+        g_array_unref (placeholder_aid);
     }
     g_strfreev (split);
 
@@ -407,9 +407,9 @@
     if (qmicli_read_uim_pin_id_from_string (split[0], &pin_id) &&
         qmicli_read_non_empty_string (split[1], "current PIN", &current_pin)) {
         GError *error = NULL;
-        GArray *dummy_aid;
+        GArray *placeholder_aid;
 
-        dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+        placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
         input = qmi_message_uim_verify_pin_input_new ();
         if (!qmi_message_uim_verify_pin_input_set_info (
@@ -420,7 +420,7 @@
             !qmi_message_uim_verify_pin_input_set_session (
                 input,
                 QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-                dummy_aid, /* ignored */
+                placeholder_aid, /* ignored */
                 &error)) {
             g_printerr ("error: couldn't create input data bundle: '%s'\n",
                         error->message);
@@ -428,7 +428,7 @@
             qmi_message_uim_verify_pin_input_unref (input);
             input = NULL;
         }
-        g_array_unref (dummy_aid);
+        g_array_unref (placeholder_aid);
     }
     g_strfreev (split);
 
@@ -504,9 +504,9 @@
         qmicli_read_non_empty_string (split[1], "PUK", &puk) &&
         qmicli_read_non_empty_string (split[2], "new PIN", &new_pin)) {
         GError *error = NULL;
-        GArray *dummy_aid;
+        GArray *placeholder_aid;
 
-        dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+        placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
         input = qmi_message_uim_unblock_pin_input_new ();
         if (!qmi_message_uim_unblock_pin_input_set_info (
@@ -518,7 +518,7 @@
             !qmi_message_uim_unblock_pin_input_set_session (
                 input,
                 QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-                dummy_aid, /* ignored */
+                placeholder_aid, /* ignored */
                 &error)) {
             g_printerr ("error: couldn't create input data bundle: '%s'\n",
                         error->message);
@@ -526,7 +526,7 @@
             qmi_message_uim_unblock_pin_input_unref (input);
             input = NULL;
         }
-        g_array_unref (dummy_aid);
+        g_array_unref (placeholder_aid);
     }
     g_strfreev (split);
 
@@ -602,9 +602,9 @@
         qmicli_read_non_empty_string (split[1], "old PIN", &old_pin) &&
         qmicli_read_non_empty_string (split[2], "new PIN", &new_pin)) {
         GError *error = NULL;
-        GArray *dummy_aid;
+        GArray *placeholder_aid;
 
-        dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+        placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
         input = qmi_message_uim_change_pin_input_new ();
         if (!qmi_message_uim_change_pin_input_set_info (
@@ -616,7 +616,7 @@
             !qmi_message_uim_change_pin_input_set_session (
                 input,
                 QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-                dummy_aid, /* ignored */
+                placeholder_aid, /* ignored */
                 &error)) {
             g_printerr ("error: couldn't create input data bundle: '%s'\n",
                         error->message);
@@ -624,7 +624,7 @@
             qmi_message_uim_change_pin_input_unref (input);
             input = NULL;
         }
-        g_array_unref (dummy_aid);
+        g_array_unref (placeholder_aid);
     }
     g_strfreev (split);
 
@@ -1721,18 +1721,18 @@
     QmiMessageUimReadTransparentInput *input;
     guint16 file_id = 0;
     GArray *file_path = NULL;
-    GArray *dummy_aid;
+    GArray *placeholder_aid;
 
     if (!get_sim_file_id_and_path (file_path_str, &file_id, &file_path))
         return NULL;
 
-    dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+    placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
     input = qmi_message_uim_read_transparent_input_new ();
     qmi_message_uim_read_transparent_input_set_session (
         input,
         QMI_UIM_SESSION_TYPE_PRIMARY_GW_PROVISIONING,
-        dummy_aid, /* ignored */
+        placeholder_aid, /* ignored */
         NULL);
     qmi_message_uim_read_transparent_input_set_file (
         input,
@@ -1741,7 +1741,7 @@
         NULL);
     qmi_message_uim_read_transparent_input_set_read_information (input, 0, 0, NULL);
     g_array_unref (file_path);
-    g_array_unref (dummy_aid);
+    g_array_unref (placeholder_aid);
     return input;
 }
 
@@ -1893,7 +1893,7 @@
     };
     guint16 file_id = 0;
     GArray *file_path = NULL;
-    GArray *dummy_aid;
+    GArray *placeholder_aid;
 
     if (!qmicli_parse_key_value_string (str,
                                         &error,
@@ -1909,14 +1909,14 @@
     if (!get_sim_file_id_and_path_with_separator (props.file, &file_id, &file_path, "-"))
         goto out;
 
-    dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+    placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
     input = qmi_message_uim_read_record_input_new ();
 
     qmi_message_uim_read_record_input_set_session (
         input,
         QMI_UIM_SESSION_TYPE_PRIMARY_GW_PROVISIONING,
-        dummy_aid, /* ignored */
+        placeholder_aid, /* ignored */
         NULL);
     qmi_message_uim_read_record_input_set_file (
         input,
@@ -1929,7 +1929,7 @@
         props.record_length,
         NULL);
 
-    g_array_unref (dummy_aid);
+    g_array_unref (placeholder_aid);
 
 out:
     free (props.file);
@@ -2089,25 +2089,25 @@
     QmiMessageUimGetFileAttributesInput *input;
     guint16 file_id = 0;
     GArray *file_path = NULL;
-    GArray *dummy_aid;
+    GArray *placeholder_aid;
 
     if (!get_sim_file_id_and_path (file_path_str, &file_id, &file_path))
         return NULL;
 
-    dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+    placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
     input = qmi_message_uim_get_file_attributes_input_new ();
     qmi_message_uim_get_file_attributes_input_set_session (
         input,
         QMI_UIM_SESSION_TYPE_PRIMARY_GW_PROVISIONING,
-        dummy_aid, /* ignored */
+        placeholder_aid, /* ignored */
         NULL);
     qmi_message_uim_get_file_attributes_input_set_file (
         input,
         file_id,
         file_path,
         NULL);
-    g_array_unref (dummy_aid);
+    g_array_unref (placeholder_aid);
     g_array_unref (file_path);
     return input;
 }
@@ -2148,15 +2148,15 @@
                   gboolean success)
 {
     QmiMessageUimRefreshCompleteInput *refresh_complete_input;
-    GArray *dummy_aid;
+    GArray *placeholder_aid;
 
-    dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+    placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
 
     refresh_complete_input = qmi_message_uim_refresh_complete_input_new ();
     qmi_message_uim_refresh_complete_input_set_session (
         refresh_complete_input,
         QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-        dummy_aid, /* ignored */
+        placeholder_aid, /* ignored */
         NULL);
     qmi_message_uim_refresh_complete_input_set_info (
         refresh_complete_input,
@@ -2171,7 +2171,7 @@
         (GAsyncReadyCallback) refresh_complete_ready,
         NULL);
     qmi_message_uim_refresh_complete_input_unref (refresh_complete_input);
-    g_array_unref (dummy_aid);
+    g_array_unref (placeholder_aid);
 }
 
 static void
@@ -2280,7 +2280,7 @@
 register_refresh_events (gchar **file_path_array)
 {
     QmiMessageUimRefreshRegisterInput *refresh_input;
-    GArray *dummy_aid;
+    GArray *placeholder_aid;
     GArray *file_list;
     QmiMessageUimRefreshRegisterInputInfoFilesElement file_element;
     guint i;
@@ -2295,12 +2295,12 @@
         file_path_array++;
     }
 
-    dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+    placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
     refresh_input = qmi_message_uim_refresh_register_input_new ();
     qmi_message_uim_refresh_register_input_set_session (
         refresh_input,
         QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-        dummy_aid, /* ignored */
+        placeholder_aid, /* ignored */
         NULL);
     qmi_message_uim_refresh_register_input_set_info (
         refresh_input,
@@ -2317,7 +2317,7 @@
         (GAsyncReadyCallback) register_refresh_events_ready,
         NULL);
     qmi_message_uim_refresh_register_input_unref (refresh_input);
-    g_array_unref (dummy_aid);
+    g_array_unref (placeholder_aid);
 
 out:
     for (i = 0; i < file_list->len; i++) {
@@ -2374,14 +2374,14 @@
 register_refresh_all_events (void)
 {
     QmiMessageUimRefreshRegisterAllInput *refresh_all_input;
-    GArray *dummy_aid;
+    GArray *placeholder_aid;
 
     refresh_all_input = qmi_message_uim_refresh_register_all_input_new ();
-    dummy_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
+    placeholder_aid = g_array_new (FALSE, FALSE, sizeof (guint8));
     qmi_message_uim_refresh_register_all_input_set_session (
         refresh_all_input,
         QMI_UIM_SESSION_TYPE_CARD_SLOT_1,
-        dummy_aid, /* ignored */
+        placeholder_aid, /* ignored */
         NULL);
 
     qmi_message_uim_refresh_register_all_input_set_info (
@@ -2396,7 +2396,7 @@
         (GAsyncReadyCallback) register_refresh_all_events_ready,
         NULL);
     qmi_message_uim_refresh_register_all_input_unref (refresh_all_input);
-    g_array_unref (dummy_aid);
+    g_array_unref (placeholder_aid);
 }
 
 #endif /* HAVE_QMI_MESSAGE_UIM_REFRESH_REGISTER_ALL */
diff --git a/utils/swi-update.c b/utils/swi-update.c
index d046d88..609c5ba 100644
--- a/utils/swi-update.c
+++ b/utils/swi-update.c
@@ -922,7 +922,7 @@
 /* FIXME: should do the following for a complete image upload*
  *
  *  For CWE images:
- *    - verify image sanity and retrive model/version data for next step if applicable
+ *    - verify image and retrive model/version data for next step if applicable
  *    - if application mode:
  *       + verify qmi model/version matching image
  *       + check usb sysfs (serial++) to match against bootloader mode