diff options
author | Aleksander Morgado <aleksander@lanedo.com> | 2013-03-27 15:15:04 +0100 |
---|---|---|
committer | Aleksander Morgado <aleksander@lanedo.com> | 2013-03-28 20:06:53 +0100 |
commit | e33fc37ec2e7574bf74ae60496fe3c1ed2ff0e3a (patch) | |
tree | ca944026176bd2a0f43c17277c85618dc4596bcd | |
parent | d9cf4fe91c21eb045cc4718d73cf2210b945d273 (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.c | 21 |
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); } |