diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mm-modem-anydata-cdma.c | 19 | ||||
-rw-r--r-- | plugins/mm-modem-huawei-cdma.c | 19 | ||||
-rw-r--r-- | plugins/mm-modem-novatel-cdma.c | 20 | ||||
-rw-r--r-- | plugins/mm-modem-sierra-cdma.c | 18 |
4 files changed, 19 insertions, 57 deletions
diff --git a/plugins/mm-modem-anydata-cdma.c b/plugins/mm-modem-anydata-cdma.c index eb5495eb..cb3b72c7 100644 --- a/plugins/mm-modem-anydata-cdma.c +++ b/plugins/mm-modem-anydata-cdma.c @@ -274,23 +274,14 @@ query_registration_state (MMGenericCdma *cdma, gpointer user_data) { MMCallbackInfo *info; - MMAtSerialPort *primary, *secondary, *port; - - port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY); - secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY); + MMAtSerialPort *port; info = mm_generic_cdma_query_reg_state_callback_info_new (cdma, callback, user_data); - if (mm_port_get_connected (MM_PORT (primary))) { - if (!secondary) { - info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED, - "Cannot get query registration state while connected"); - mm_callback_info_schedule (info); - return; - } - - /* Use secondary port if primary is connected */ - port = secondary; + port = mm_generic_cdma_get_best_at_port (cdma, &info->error); + if (!port) { + mm_callback_info_schedule (info); + return; } mm_at_serial_port_queue_command (port, "*STATE?", 3, state_done, info); diff --git a/plugins/mm-modem-huawei-cdma.c b/plugins/mm-modem-huawei-cdma.c index b164e675..7200f061 100644 --- a/plugins/mm-modem-huawei-cdma.c +++ b/plugins/mm-modem-huawei-cdma.c @@ -239,23 +239,14 @@ query_registration_state (MMGenericCdma *cdma, gpointer user_data) { MMCallbackInfo *info; - MMAtSerialPort *primary, *secondary, *port; - - port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY); - secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY); + MMAtSerialPort *port; info = mm_generic_cdma_query_reg_state_callback_info_new (cdma, callback, user_data); - if (mm_port_get_connected (MM_PORT (primary))) { - if (!secondary) { - info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED, - "Cannot get query registration state while connected"); - mm_callback_info_schedule (info); - return; - } - - /* Use secondary port if primary is connected */ - port = secondary; + port = mm_generic_cdma_get_best_at_port (cdma, &info->error); + if (!port) { + mm_callback_info_schedule (info); + return; } mm_at_serial_port_queue_command (port, "^SYSINFO", 3, sysinfo_done, info); diff --git a/plugins/mm-modem-novatel-cdma.c b/plugins/mm-modem-novatel-cdma.c index c578d18b..bf747d1a 100644 --- a/plugins/mm-modem-novatel-cdma.c +++ b/plugins/mm-modem-novatel-cdma.c @@ -141,25 +141,15 @@ get_signal_quality (MMModemCdma *modem, MMModemUIntFn callback, gpointer user_data) { - MMGenericCdma *cdma = MM_GENERIC_CDMA (modem); MMCallbackInfo *info; - MMAtSerialPort *primary, *secondary, *port; - - port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY); - secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY); + MMAtSerialPort *port; info = mm_callback_info_uint_new (MM_MODEM (modem), callback, user_data); - if (mm_port_get_connected (MM_PORT (primary))) { - if (!secondary) { - info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED, - "Cannot query signal quality while connected"); - mm_callback_info_schedule (info); - return; - } - - /* Use secondary port if primary is connected */ - port = secondary; + port = mm_generic_cdma_get_best_at_port (MM_GENERIC_CDMA (modem), &info->error); + if (!port) { + mm_callback_info_schedule (info); + return; } /* Many Novatel CDMA cards don't report CSQ in standard 0 - 31 and the CSQ diff --git a/plugins/mm-modem-sierra-cdma.c b/plugins/mm-modem-sierra-cdma.c index f2fb4e09..2c3ed7f0 100644 --- a/plugins/mm-modem-sierra-cdma.c +++ b/plugins/mm-modem-sierra-cdma.c @@ -293,24 +293,14 @@ query_registration_state (MMGenericCdma *cdma, gpointer user_data) { MMCallbackInfo *info; - MMAtSerialPort *primary, *secondary; MMAtSerialPort *port; - port = primary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_PRIMARY); - secondary = mm_generic_cdma_get_at_port (cdma, MM_PORT_TYPE_SECONDARY); - info = mm_generic_cdma_query_reg_state_callback_info_new (cdma, callback, user_data); - if (mm_port_get_connected (MM_PORT (primary))) { - if (!secondary) { - info->error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_CONNECTED, - "Cannot get query registration state while connected"); - mm_callback_info_schedule (info); - return; - } - - /* Use secondary port if primary is connected */ - port = secondary; + port = mm_generic_cdma_get_best_at_port (cdma, &info->error); + if (!port) { + mm_callback_info_schedule (info); + return; } mm_at_serial_port_queue_command (port, "!STATUS", 3, status_done, info); |