aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-01-19 11:53:45 -0800
committerDan Williams <dcbw@redhat.com>2010-01-19 11:53:45 -0800
commit82eecfca923a3b4dec6c363e756516f6aaa47486 (patch)
tree90f7e826ddd28c827013cd5664c8b81ffe572051
parent28eca600f7f1a0387a99c51d35179d81dc3fec59 (diff)
sierra: prefer primary port for status
-rw-r--r--plugins/mm-modem-sierra-cdma.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/plugins/mm-modem-sierra-cdma.c b/plugins/mm-modem-sierra-cdma.c
index eec2a83c..4f3140b7 100644
--- a/plugins/mm-modem-sierra-cdma.c
+++ b/plugins/mm-modem-sierra-cdma.c
@@ -294,22 +294,26 @@ query_registration_state (MMGenericCdma *cdma,
{
MMCallbackInfo *info;
MMSerialPort *primary, *secondary;
+ MMSerialPort *port;
- primary = mm_generic_cdma_get_port (cdma, MM_PORT_TYPE_PRIMARY);
+ port = primary = mm_generic_cdma_get_port (cdma, MM_PORT_TYPE_PRIMARY);
secondary = mm_generic_cdma_get_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)) && !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;
+ 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;
}
- mm_serial_port_queue_command (secondary ? secondary : primary,
- "!STATUS", 3,
- status_done, info);
+ mm_serial_port_queue_command (port, "!STATUS", 3, status_done, info);
}
static void