aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-port-probe.c')
-rw-r--r--src/mm-port-probe.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index f0efce59..e955a97e 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -745,6 +745,8 @@ serial_probe_qcdm (MMPortProbe *self)
gint len;
guint8 marker = 0x7E;
PortProbeRunContext *ctx;
+ MMPortSubsys subsys = MM_PORT_SUBSYS_TTY;
+
g_assert (self->priv->task);
ctx = g_task_get_task_data (self->priv->task);
@@ -767,8 +769,11 @@ serial_probe_qcdm (MMPortProbe *self)
g_object_unref (ctx->serial);
}
+ if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "wwan"))
+ subsys = MM_PORT_SUBSYS_WWAN;
+
/* Open the QCDM port */
- ctx->serial = MM_PORT_SERIAL (mm_port_serial_qcdm_new (mm_kernel_device_get_name (self->priv->port), MM_PORT_SUBSYS_TTY));
+ ctx->serial = MM_PORT_SERIAL (mm_port_serial_qcdm_new (mm_kernel_device_get_name (self->priv->port), subsys));
if (!ctx->serial) {
port_probe_task_return_error (self,
g_error_new (MM_CORE_ERROR,
@@ -1296,6 +1301,8 @@ serial_open_at (MMPortProbe *self)
subsys = MM_PORT_SUBSYS_USBMISC;
else if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "rpmsg"))
subsys = MM_PORT_SUBSYS_RPMSG;
+ else if (g_str_equal (mm_kernel_device_get_subsystem (self->priv->port), "wwan"))
+ subsys = MM_PORT_SUBSYS_WWAN;
ctx->serial = MM_PORT_SERIAL (mm_port_serial_at_new (mm_kernel_device_get_name (self->priv->port), subsys));
if (!ctx->serial) {