aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-03-27 15:15:04 +0100
committerAleksander Morgado <aleksander@lanedo.com>2013-03-28 20:06:53 +0100
commite33fc37ec2e7574bf74ae60496fe3c1ed2ff0e3a (patch)
treeca944026176bd2a0f43c17277c85618dc4596bcd
parentd9cf4fe91c21eb045cc4718d73cf2210b945d273 (diff)
option: ignore PH_SIM facility lock in 'nozomi' based modems
https://bugzilla.gnome.org/show_bug.cgi?id=696593
-rw-r--r--plugins/option/mm-broadband-modem-option.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/option/mm-broadband-modem-option.c b/plugins/option/mm-broadband-modem-option.c
index 274b2875..4c63f3db 100644
--- a/plugins/option/mm-broadband-modem-option.c
+++ b/plugins/option/mm-broadband-modem-option.c
@@ -1064,6 +1064,21 @@ setup_ports (MMBroadbandModem *self)
/*****************************************************************************/
+static gboolean
+is_nozomi (const gchar **drivers)
+{
+ if (drivers) {
+ guint i;
+
+ for (i = 0; drivers[i]; i++) {
+ if (g_str_equal (drivers[i], "nozomi"))
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
MMBroadbandModemOption *
mm_broadband_modem_option_new (const gchar *device,
const gchar **drivers,
@@ -1071,12 +1086,18 @@ mm_broadband_modem_option_new (const gchar *device,
guint16 vendor_id,
guint16 product_id)
{
+ MMModem3gppFacility ignored;
+
+ /* Ignore PH-SIM facility in 'nozomi' managed modems */
+ ignored = is_nozomi (drivers) ? MM_MODEM_3GPP_FACILITY_PH_SIM : MM_MODEM_3GPP_FACILITY_NONE;
+
return g_object_new (MM_TYPE_BROADBAND_MODEM_OPTION,
MM_BASE_MODEM_DEVICE, device,
MM_BASE_MODEM_DRIVERS, drivers,
MM_BASE_MODEM_PLUGIN, plugin,
MM_BASE_MODEM_VENDOR_ID, vendor_id,
MM_BASE_MODEM_PRODUCT_ID, product_id,
+ MM_IFACE_MODEM_3GPP_IGNORED_FACILITY_LOCKS, ignored,
NULL);
}