summaryrefslogtreecommitdiff
path: root/src/mm-plugin.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2013-11-19 20:48:20 +0100
committerAleksander Morgado <aleksander@aleksander.es>2014-02-13 13:40:58 +0100
commit070f4938f3ff5425f8c4f18f57e79d935ad05b32 (patch)
treefc79ee35cf9864551b44a5ced4258cf04554b79f /src/mm-plugin.c
parent38ebf7c95b94f065f80c85505e65f102cef733d2 (diff)
downloadModemManager-070f4938f3ff5425f8c4f18f57e79d935ad05b32.tar.gz
plugin: allow probing non-tty AT ports
Diffstat (limited to 'src/mm-plugin.c')
-rw-r--r--src/mm-plugin.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/mm-plugin.c b/src/mm-plugin.c
index 6b33f9a76..a5ddb5dbd 100644
--- a/src/mm-plugin.c
+++ b/src/mm-plugin.c
@@ -718,21 +718,27 @@ mm_plugin_supports_port (MMPlugin *self,
probe_run_flags |= MM_PORT_PROBE_AT;
else if (self->priv->single_at)
probe_run_flags |= MM_PORT_PROBE_AT;
- if (need_vendor_probing)
- probe_run_flags |= (MM_PORT_PROBE_AT | MM_PORT_PROBE_AT_VENDOR);
- if (need_product_probing)
- probe_run_flags |= (MM_PORT_PROBE_AT | MM_PORT_PROBE_AT_PRODUCT);
if (self->priv->qcdm)
probe_run_flags |= MM_PORT_PROBE_QCDM;
- if (self->priv->icera_probe || self->priv->allowed_icera || self->priv->forbidden_icera)
- probe_run_flags |= (MM_PORT_PROBE_AT | MM_PORT_PROBE_AT_ICERA);
} else {
/* cdc-wdm ports... */
probe_run_flags = MM_PORT_PROBE_NONE;
if (self->priv->qmi && find_driver_in_device (device, "qmi_wwan"))
probe_run_flags |= MM_PORT_PROBE_QMI;
- if (self->priv->mbim && find_driver_in_device (device, "cdc_mbim"))
+ else if (self->priv->mbim && find_driver_in_device (device, "cdc_mbim"))
probe_run_flags |= MM_PORT_PROBE_MBIM;
+ else
+ probe_run_flags |= MM_PORT_PROBE_AT;
+ }
+
+ /* For potential AT ports, check for more things */
+ if (probe_run_flags & MM_PORT_PROBE_AT) {
+ if (need_vendor_probing)
+ probe_run_flags |= MM_PORT_PROBE_AT_VENDOR;
+ if (need_product_probing)
+ probe_run_flags |= MM_PORT_PROBE_AT_PRODUCT;
+ if (self->priv->icera_probe || self->priv->allowed_icera || self->priv->forbidden_icera)
+ probe_run_flags |= MM_PORT_PROBE_AT_ICERA;
}
/* If no explicit probing was required, just request to grab it without probing anything.