aboutsummaryrefslogtreecommitdiff
path: root/src/mm-port-probe.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2013-11-19 20:24:27 +0100
committerAleksander Morgado <aleksander@aleksander.es>2014-02-13 13:40:55 +0100
commit38ebf7c95b94f065f80c85505e65f102cef733d2 (patch)
treef0d61b3b508d2713ccf31f7c72d25889f9c789e3 /src/mm-port-probe.c
parent9432674087617b8140ca2e517e367bf74061e87e (diff)
port-serial-at: allow specifying subsystem when creating a 'MMPortSerialAt'
Don't just assume that all AT ports are TTYs.
Diffstat (limited to 'src/mm-port-probe.c')
-rw-r--r--src/mm-port-probe.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index 69e68f13..6afd09c8 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -1156,8 +1156,13 @@ serial_open_at (MMPortProbe *self)
/* Create AT serial port if not done before */
if (!task->serial) {
gpointer parser;
+ MMPortSubsys subsys = MM_PORT_SUBSYS_TTY;
- task->serial = MM_PORT_SERIAL (mm_port_serial_at_new (g_udev_device_get_name (self->priv->port)));
+ if (g_str_has_prefix (g_udev_device_get_subsystem (self->priv->port), "usb"))
+ subsys = MM_PORT_SUBSYS_USB;
+
+ task->serial = MM_PORT_SERIAL (mm_port_serial_at_new (g_udev_device_get_name (self->priv->port),
+ subsys));
if (!task->serial) {
port_probe_run_task_complete (
task,