From 1c67b9327e3d4b1c9eb7e5b4eef012736a23e68d Mon Sep 17 00:00:00 2001 From: Tambet Ingo Date: Fri, 28 Nov 2008 13:25:26 +0200 Subject: Fix the bug where HSO plugin would create a modem instance for each serial device. --- plugins/mm-plugin-hso.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'plugins/mm-plugin-hso.c') 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); -- cgit v1.2.3-70-g09d2