diff options
Diffstat (limited to 'plugins/mm-plugin-anydata.c')
-rw-r--r-- | plugins/mm-plugin-anydata.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/plugins/mm-plugin-anydata.c b/plugins/mm-plugin-anydata.c index e4517140..fb6f84c6 100644 --- a/plugins/mm-plugin-anydata.c +++ b/plugins/mm-plugin-anydata.c @@ -42,9 +42,11 @@ mm_plugin_create (void) static guint32 get_level_for_capabilities (guint32 capabilities) { - /* Only CDMA for now */ + /* Only CDMA and QCDM for now */ if (capabilities & CAP_CDMA) return 10; + if (capabilities & MM_PLUGIN_BASE_PORT_CAP_QCDM) + return 10; return 0; } @@ -150,12 +152,15 @@ grab_port (MMPluginBase *base, return NULL; } } - } else { - if (caps & CAP_CDMA) { - modem = existing; - if (!mm_modem_grab_port (modem, subsys, name, MM_PORT_TYPE_UNKNOWN, NULL, error)) - return NULL; - } + } else if (get_level_for_capabilities (caps)) { + MMPortType ptype = MM_PORT_TYPE_UNKNOWN; + + if (caps & MM_PLUGIN_BASE_PORT_CAP_QCDM) + ptype = MM_PORT_TYPE_QCDM; + + modem = existing; + if (!mm_modem_grab_port (modem, subsys, name, ptype, NULL, error)) + return NULL; } return modem; |