diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2018-07-27 10:19:48 +0200 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2018-08-10 04:19:13 +0000 |
commit | 9c0a557f918abd3e94702753ed0479494bcd2f90 (patch) | |
tree | df03be87f7c8f7c8f35d0ccb47f0bc91fa78ac73 | |
parent | 85adbdbdd15794ab55112f8721ab5ae278f1b3bf (diff) | |
download | ModemManager-9c0a557f918abd3e94702753ed0479494bcd2f90.tar.gz |
port-probe: don't do AT or QCDM probing on ports flagged as GPS
-rw-r--r-- | src/mm-port-probe.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c index 13c898610..cd7424ef5 100644 --- a/src/mm-port-probe.c +++ b/src/mm-port-probe.c @@ -88,6 +88,7 @@ struct _MMPortProbePrivate { /* From udev tags */ gboolean is_ignored; + gboolean is_gps; /* Current probing task. Only one can be available at a time */ GTask *task; @@ -1372,6 +1373,15 @@ mm_port_probe_run (MMPortProbe *self, return; } + /* If this is a port flagged as a GPS port, don't do any AT or QCDM probing */ + if (self->priv->is_gps) { + mm_dbg ("(%s/%s) GPS port detected", + mm_kernel_device_get_subsystem (self->priv->port), + mm_kernel_device_get_name (self->priv->port)); + mm_port_probe_set_result_at (self, FALSE); + mm_port_probe_set_result_qcdm (self, FALSE); + } + /* Check if we already have the requested probing results. * We will fix here the 'ctx->flags' so that we only request probing * for the missing things. */ @@ -1748,6 +1758,7 @@ set_property (GObject *object, /* construct only */ self->priv->port = g_value_dup_object (value); self->priv->is_ignored = mm_kernel_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_IGNORE"); + self->priv->is_gps = mm_kernel_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_TYPE_GPS"); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); |