summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2016-06-06 20:42:20 +0200
committerAleksander Morgado <aleksander@aleksander.es>2016-06-07 06:13:31 +0200
commite374f50b6cc7ce81fcfa8cf1b05f6f13503a94be (patch)
treeaf8f67287399401082e9037d9f6f3f2443542a8b
parent422238fe1314fe5b5d3deacdb098be5afbb20fee (diff)
downloadlibqmi-e374f50b6cc7ce81fcfa8cf1b05f6f13503a94be.tar.gz
libqmi-glib,mbim: don't create mbim device multiple times
-rw-r--r--src/libqmi-glib/qmi-device.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libqmi-glib/qmi-device.c b/src/libqmi-glib/qmi-device.c
index e74c200e..0937d688 100644
--- a/src/libqmi-glib/qmi-device.c
+++ b/src/libqmi-glib/qmi-device.c
@@ -2235,6 +2235,15 @@ create_mbim_device (DeviceOpenContext *ctx)
{
GFile *file;
+ if (ctx->self->priv->mbimdev) {
+ g_simple_async_result_set_error (ctx->result,
+ QMI_CORE_ERROR,
+ QMI_CORE_ERROR_WRONG_STATE,
+ "Already open");
+ device_open_context_complete_and_free (ctx);
+ return;
+ }
+
g_debug ("[%s] creating MBIM device...", ctx->self->priv->path_display);
file = g_file_new_for_path (ctx->self->priv->path);
mbim_device_new (file,