diff options
Diffstat (limited to 'plugins/xmm/mm-shared-xmm.c')
-rw-r--r-- | plugins/xmm/mm-shared-xmm.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/plugins/xmm/mm-shared-xmm.c b/plugins/xmm/mm-shared-xmm.c index 2bf5e8e2..141a83c4 100644 --- a/plugins/xmm/mm-shared-xmm.c +++ b/plugins/xmm/mm-shared-xmm.c @@ -1018,14 +1018,18 @@ gps_engine_start (GTask *task) /* Look for an AT port to use for GPS. Prefer secondary port if there is one, * otherwise use primary */ g_assert (!priv->gps_port); - priv->gps_port = mm_base_modem_get_port_secondary (MM_BASE_MODEM (self)); + + priv->gps_port = mm_base_modem_get_port_gps_control (MM_BASE_MODEM (self)); if (!priv->gps_port) { - priv->gps_port = mm_base_modem_get_port_primary (MM_BASE_MODEM (self)); + priv->gps_port = mm_base_modem_get_port_secondary (MM_BASE_MODEM (self)); if (!priv->gps_port) { - g_task_return_new_error (task, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, - "No valid port found to control GPS"); - g_object_unref (task); - return; + priv->gps_port = mm_base_modem_get_port_primary (MM_BASE_MODEM (self)); + if (!priv->gps_port) { + g_task_return_new_error (task, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, + "No valid port found to control GPS"); + g_object_unref (task); + return; + } } } |