telit,helpers: fix format of flags built during #BND request generation
We explicitly need 64bit values for 3G flags and 4G flags.
This commit is contained in:
@@ -202,8 +202,8 @@ mm_telit_build_bnd_request (GArray *bands_array,
|
||||
guint64 mask4g = 0;
|
||||
guint i;
|
||||
gint flag2g = -1;
|
||||
gint flag3g = -1;
|
||||
gint flag4g = -1;
|
||||
gint64 flag3g = -1;
|
||||
gint64 flag4g = -1;
|
||||
gchar *cmd;
|
||||
const guint64 *telit_3g_to_mm_band_mask;
|
||||
guint telit_3g_to_mm_band_mask_n_elements;
|
||||
@@ -281,7 +281,7 @@ mm_telit_build_bnd_request (GArray *bands_array,
|
||||
}
|
||||
|
||||
/* Get 4G-specific telit band bitmask */
|
||||
flag4g = (mask4g != 0) ? mask4g : -1;
|
||||
flag4g = (mask4g != 0) ? ((gint64)mask4g) : -1;
|
||||
|
||||
/* If the modem supports a given access tech, we must always give band settings
|
||||
* for the specific tech */
|
||||
@@ -304,17 +304,17 @@ mm_telit_build_bnd_request (GArray *bands_array,
|
||||
if (modem_is_2g && !modem_is_3g && !modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=%d", flag2g);
|
||||
else if (!modem_is_2g && modem_is_3g && !modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=0,%d", flag3g);
|
||||
cmd = g_strdup_printf ("#BND=0,%" G_GINT64_FORMAT, flag3g);
|
||||
else if (!modem_is_2g && !modem_is_3g && modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=0,0,%d", flag4g);
|
||||
cmd = g_strdup_printf ("#BND=0,0,%" G_GINT64_FORMAT, flag4g);
|
||||
else if (modem_is_2g && modem_is_3g && !modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=%d,%d", flag2g, flag3g);
|
||||
cmd = g_strdup_printf ("#BND=%d,%" G_GINT64_FORMAT, flag2g, flag3g);
|
||||
else if (!modem_is_2g && modem_is_3g && modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=0,%d,%d", flag3g, flag4g);
|
||||
cmd = g_strdup_printf ("#BND=0,%" G_GINT64_FORMAT ",%" G_GINT64_FORMAT, flag3g, flag4g);
|
||||
else if (modem_is_2g && !modem_is_3g && modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=%d,0,%d", flag2g, flag4g);
|
||||
cmd = g_strdup_printf ("#BND=%d,0,%" G_GINT64_FORMAT, flag2g, flag4g);
|
||||
else if (modem_is_2g && modem_is_3g && modem_is_4g)
|
||||
cmd = g_strdup_printf ("#BND=%d,%d,%d", flag2g, flag3g, flag4g);
|
||||
cmd = g_strdup_printf ("#BND=%d,%" G_GINT64_FORMAT ",%" G_GINT64_FORMAT, flag2g, flag3g, flag4g);
|
||||
else
|
||||
g_assert_not_reached ();
|
||||
|
||||
|
Reference in New Issue
Block a user