diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-generic-cdma.c | 14 | ||||
-rw-r--r-- | src/mm-generic-gsm.c | 16 |
2 files changed, 21 insertions, 9 deletions
diff --git a/src/mm-generic-cdma.c b/src/mm-generic-cdma.c index 7c42e81f..63c92e19 100644 --- a/src/mm-generic-cdma.c +++ b/src/mm-generic-cdma.c @@ -158,7 +158,12 @@ mm_generic_cdma_grab_port (MMGenericCdma *self, } port = mm_modem_base_add_port (MM_MODEM_BASE (self), subsys, name, ptype); - if (port && MM_IS_AT_SERIAL_PORT (port)) { + if (!port) { + g_warn_if_fail (port != NULL); + return NULL; + } + + if (MM_IS_AT_SERIAL_PORT (port)) { g_object_set (G_OBJECT (port), MM_PORT_CARRIER_DETECT, FALSE, NULL); mm_at_serial_port_set_response_parser (MM_AT_SERIAL_PORT (port), mm_serial_parser_v1_e1_parse, @@ -174,9 +179,10 @@ mm_generic_cdma_grab_port (MMGenericCdma *self, check_valid (self); } else if (ptype == MM_PORT_TYPE_SECONDARY) priv->secondary = MM_AT_SERIAL_PORT (port); - } else if (MM_IS_QCDM_SERIAL_PORT (port) && !priv->qcdm) { - priv->qcdm = MM_QCDM_SERIAL_PORT (port); - } else { + } else if (MM_IS_QCDM_SERIAL_PORT (port)) { + if (!priv->qcdm) + priv->qcdm = MM_QCDM_SERIAL_PORT (port); + } else if (!strcmp (subsys, "net")) { /* Net device (if any) is the preferred data port */ if (!priv->data || MM_IS_AT_SERIAL_PORT (priv->data)) { priv->data = port; diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index 0e787d22..41d9e523 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -401,7 +401,12 @@ mm_generic_gsm_grab_port (MMGenericGsm *self, g_return_val_if_fail (!strcmp (subsys, "net") || !strcmp (subsys, "tty"), FALSE); port = mm_modem_base_add_port (MM_MODEM_BASE (self), subsys, name, ptype); - if (port && MM_IS_AT_SERIAL_PORT (port)) { + if (!port) { + g_warn_if_fail (port != NULL); + return NULL; + } + + if (MM_IS_AT_SERIAL_PORT (port)) { GPtrArray *array; int i; @@ -431,11 +436,12 @@ mm_generic_gsm_grab_port (MMGenericGsm *self, } else if (ptype == MM_PORT_TYPE_SECONDARY) priv->secondary = MM_AT_SERIAL_PORT (port); - } else if (MM_IS_QCDM_SERIAL_PORT (port) && !priv->qcdm) { - priv->qcdm = MM_QCDM_SERIAL_PORT (port); - } else { + } else if (MM_IS_QCDM_SERIAL_PORT (port)) { + if (!priv->qcdm) + priv->qcdm = MM_QCDM_SERIAL_PORT (port); + } else if (!strcmp (subsys, "net")) { /* Net device (if any) is the preferred data port */ - if (!priv->data || MM_IS_SERIAL_PORT (priv->data)) { + if (!priv->data || MM_IS_AT_SERIAL_PORT (priv->data)) { priv->data = port; g_object_notify (G_OBJECT (self), MM_MODEM_DATA_DEVICE); check_valid (self); |