From 1df8dd7361d4afbaf3e0fa46529cdd2460fa503d Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 25 Jul 2011 12:50:22 -0500 Subject: [PATCH] option: plugin is supposed to support Nozomi devices too The Nozomi cards were early CardBus devices that used a direct PCI interface (instead of the more usual PCI<->USB controller) and the 'nozomi' kernel driver. They use the same command set as most other early Option NV modems. Nozomi was always supposed to be driven by the option plugin, but apparently that got broken when adding some of the driver/vendor checks. --- plugins/mm-plugin-option.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/plugins/mm-plugin-option.c b/plugins/mm-plugin-option.c index 0e279c03..8c16879a 100644 --- a/plugins/mm-plugin-option.c +++ b/plugins/mm-plugin-option.c @@ -58,7 +58,7 @@ supports_port (MMPluginBase *base, { GUdevDevice *port; const char *driver, *subsys, *name; - guint16 vendor = 0; + guint16 vendor = 0, product = 0; /* Can't do anything with non-serial ports */ port = mm_plugin_base_supports_task_get_port (task); @@ -69,13 +69,14 @@ supports_port (MMPluginBase *base, name = g_udev_device_get_name (port); driver = mm_plugin_base_supports_task_get_driver (task); - if (!driver || (strcmp (driver, "option1") && strcmp (driver, "option"))) + if (!driver || (strcmp (driver, "option1") && strcmp (driver, "option") && strcmp (driver, "nozomi"))) return MM_PLUGIN_SUPPORTS_PORT_UNSUPPORTED; - if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, NULL)) + if (!mm_plugin_base_get_device_ids (base, subsys, name, &vendor, &product)) return MM_PLUGIN_SUPPORTS_PORT_UNSUPPORTED; - if (vendor != 0x0af0) + if ( (vendor != 0x0af0) /* Option USB devices */ + && (vendor != 0x1931 || product != 0x000c)) /* Nozomi CardBus devices */ return MM_PLUGIN_SUPPORTS_PORT_UNSUPPORTED; /* Check if a previous probing was already launched in this port */