aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorTambet Ingo <tambet@gmail.com>2008-11-28 13:25:26 +0200
committerTambet Ingo <tambet@gmail.com>2008-11-28 13:25:26 +0200
commit1c67b9327e3d4b1c9eb7e5b4eef012736a23e68d (patch)
treee8f3f1ce1eec7f7b006c2f776a5ef3d28010c721 /plugins
parentc44079b3126825564ec13923ccb6e09e85ca3162 (diff)
Fix the bug where HSO plugin would create a modem instance for each serial device.
Diffstat (limited to 'plugins')
-rw-r--r--plugins/mm-plugin-hso.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/plugins/mm-plugin-hso.c b/plugins/mm-plugin-hso.c
index c64fc12e..7fa852ca 100644
--- a/plugins/mm-plugin-hso.c
+++ b/plugins/mm-plugin-hso.c
@@ -82,8 +82,20 @@ supports_udi (MMPlugin *plugin, LibHalContext *hal_ctx, const char *udi)
gboolean supported = FALSE;
driver_name = get_driver_name (hal_ctx, udi);
- if (driver_name && !strcmp (driver_name, "hso"))
- supported = TRUE;
+ if (driver_name && !strcmp (driver_name, "hso")) {
+ char **capabilities;
+ char **iter;
+
+ capabilities = libhal_device_get_property_strlist (hal_ctx, udi, "modem.command_sets", NULL);
+ for (iter = capabilities; iter && *iter && !supported; iter++) {
+ if (!strcmp (*iter, "GSM-07.07") || !strcmp (*iter, "GSM-07.05")) {
+ supported = TRUE;
+ break;
+ }
+ }
+
+ libhal_free_string_array (capabilities);
+ }
libhal_free_string (driver_name);