diff options
Diffstat (limited to 'plugins/huawei')
-rw-r--r-- | plugins/huawei/mm-broadband-bearer-huawei.c | 15 | ||||
-rw-r--r-- | plugins/huawei/mm-broadband-modem-huawei.c | 2 |
2 files changed, 14 insertions, 3 deletions
diff --git a/plugins/huawei/mm-broadband-bearer-huawei.c b/plugins/huawei/mm-broadband-bearer-huawei.c index 804d1659..364760fd 100644 --- a/plugins/huawei/mm-broadband-bearer-huawei.c +++ b/plugins/huawei/mm-broadband-bearer-huawei.c @@ -329,7 +329,6 @@ connect_3gpp (MMBroadbandBearer *self, MMBroadbandModem *modem, MMAtSerialPort *primary, MMAtSerialPort *secondary, - MMPort *data, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) @@ -343,7 +342,6 @@ connect_3gpp (MMBroadbandBearer *self, ctx->self = g_object_ref (self); ctx->modem = g_object_ref (modem); ctx->primary = g_object_ref (primary); - ctx->data = g_object_ref (data); ctx->result = g_simple_async_result_new (G_OBJECT (self), callback, user_data, @@ -354,6 +352,19 @@ connect_3gpp (MMBroadbandBearer *self, g_assert (ctx->self->priv->connect_pending == NULL); g_assert (ctx->self->priv->disconnect_pending == NULL); + /* We need a net data port */ + ctx->data = mm_base_modem_get_best_data_port (MM_BASE_MODEM (modem), + MM_PORT_TYPE_NET); + if (!ctx->data) { + g_simple_async_result_set_error ( + ctx->result, + MM_CORE_ERROR, + MM_CORE_ERROR_NOT_FOUND, + "No valid data port found to launch connection"); + connect_3gpp_context_complete_and_free (ctx); + return; + } + /* Run! */ connect_3gpp_context_step (ctx); } diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c index b5ce8973..c1a29b3e 100644 --- a/plugins/huawei/mm-broadband-modem-huawei.c +++ b/plugins/huawei/mm-broadband-modem-huawei.c @@ -1368,7 +1368,7 @@ huawei_modem_create_bearer (MMIfaceModem *self, user_data, huawei_modem_create_bearer); - if (mm_port_get_port_type (mm_base_modem_peek_best_data_port (MM_BASE_MODEM (self))) == MM_PORT_TYPE_NET) { + if (mm_base_modem_peek_best_data_port (MM_BASE_MODEM (self), MM_PORT_TYPE_NET)) { /* If we get a 'net' port, check if driver is 'cdc_ether' or 'cdc_ncm' */ const gchar **drivers; guint i; |