diff options
Diffstat (limited to 'src/mm-port-probe.c')
-rw-r--r-- | src/mm-port-probe.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/mm-port-probe.c b/src/mm-port-probe.c index c02f0b23..c0b5b455 100644 --- a/src/mm-port-probe.c +++ b/src/mm-port-probe.c @@ -93,6 +93,7 @@ struct _MMPortProbePrivate { /* From udev tags */ gboolean is_ignored; gboolean is_gps; + gboolean is_audio; gboolean maybe_at_primary; gboolean maybe_at_secondary; gboolean maybe_at_ppp; @@ -1477,6 +1478,15 @@ mm_port_probe_run (MMPortProbe *self, mm_port_probe_set_result_qcdm (self, FALSE); } + /* If this is a port flagged as an audio port, don't do any AT or QCDM probing */ + if (self->priv->is_audio) { + mm_dbg ("(%s/%s) audio 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); + } + /* 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", @@ -1711,6 +1721,9 @@ mm_port_probe_get_port_type (MMPortProbe *self) if (self->priv->is_gps) return MM_PORT_TYPE_GPS; + if (self->priv->is_audio) + return MM_PORT_TYPE_AUDIO; + return MM_PORT_TYPE_UNKNOWN; } @@ -1900,6 +1913,7 @@ 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->is_audio = mm_kernel_device_get_property_as_boolean (self->priv->port, ID_MM_PORT_TYPE_AUDIO); 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); |