aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2018-07-27 11:33:30 +0200
committerDan Williams <dcbw@redhat.com>2018-08-10 04:19:13 +0000
commitaff633b1b002ecfecc51d589d580e963c931cb6d (patch)
tree6287e03b860b43cfad5a2e65c752eb24bd5f6a12
parent6b0424cfac1c41d5aee3f734993077077f161325 (diff)
port-probe: no QCDM probing on possible AT port
Ports flagged with one of the common AT port type hints will not be probed for QCDM. AT probing will be performed normally, the udev tags only give hints, we still need to know whether the TTYs are AT-capable or not.
-rw-r--r--src/mm-port-probe.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c
index c7d53675..e35a3ae9 100644
--- a/src/mm-port-probe.c
+++ b/src/mm-port-probe.c
@@ -89,6 +89,9 @@ struct _MMPortProbePrivate {
/* From udev tags */
gboolean is_ignored;
gboolean is_gps;
+ gboolean maybe_at_primary;
+ gboolean maybe_at_secondary;
+ gboolean maybe_at_ppp;
/* Current probing task. Only one can be available at a time */
GTask *task;
@@ -1382,6 +1385,14 @@ mm_port_probe_run (MMPortProbe *self,
mm_port_probe_set_result_qcdm (self, FALSE);
}
+ /* If this is a port flagged as being an AT port, don't do any QCDM probing */
+ if (self->priv->maybe_at_primary || self->priv->maybe_at_secondary || self->priv->maybe_at_ppp) {
+ mm_dbg ("(%s/%s) no QCDM probing in possible AT port",
+ mm_kernel_device_get_subsystem (self->priv->port),
+ mm_kernel_device_get_name (self->priv->port));
+ 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. */
@@ -1762,6 +1773,9 @@ set_property (GObject *object,
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");
+ self->priv->maybe_at_primary = mm_kernel_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_TYPE_AT_PRIMARY");
+ self->priv->maybe_at_secondary = mm_kernel_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_TYPE_AT_SECONDARY");
+ self->priv->maybe_at_ppp = mm_kernel_device_get_property_as_boolean (self->priv->port, "ID_MM_PORT_TYPE_AT_PPP");
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);