aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mm-modem-anydata-cdma.c19
-rw-r--r--plugins/mm-modem-huawei-cdma.c19
-rw-r--r--plugins/mm-modem-novatel-cdma.c20
-rw-r--r--plugins/mm-modem-sierra-cdma.c18
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);