summaryrefslogtreecommitdiffstats
path: root/plugins/udevng.c
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2012-01-17 10:38:07 +0100
committerMarcel Holtmann <marcel@holtmann.org>2012-01-17 10:38:07 +0100
commit5086f5f43af6dad282676769cd11a020f4143f23 (patch)
tree1e44986f996f991da65efbd40278b4556a112cbf /plugins/udevng.c
parentd6d86ff938689af7c08b0109290f469d7f7014e2 (diff)
downloadofono-5086f5f43af6dad282676769cd11a020f4143f23.tar.bz2
udev: Limit ZTE port selection to specific product identifiers
Diffstat (limited to 'plugins/udevng.c')
-rw-r--r--plugins/udevng.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/plugins/udevng.c b/plugins/udevng.c
index 4cb6fbcc..2a9200df 100644
--- a/plugins/udevng.c
+++ b/plugins/udevng.c
@@ -571,10 +571,18 @@ static gboolean setup_simcom(struct modem_info *modem)
static gboolean setup_zte(struct modem_info *modem)
{
const char *aux = NULL, *mdm = NULL, *qcdm = NULL;
+ const char *modem_intf;
GSList *list;
DBG("%s", modem->syspath);
+ if (g_strcmp0(modem->model, "0016") == 0 ||
+ g_strcmp0(modem->model, "0017") == 0 ||
+ g_strcmp0(modem->model, "0117") == 0)
+ modem_intf = "02";
+ else
+ modem_intf = "03";
+
for (list = modem->devices; list; list = list->next) {
struct device_info *info = list->data;
@@ -594,9 +602,7 @@ static gboolean setup_zte(struct modem_info *modem)
qcdm = info->devnode;
else if (g_strcmp0(info->number, "01") == 0)
aux = info->devnode;
- else if (g_strcmp0(info->number, "02") == 0)
- mdm = info->devnode;
- else if (g_strcmp0(info->number, "03") == 0)
+ else if (g_strcmp0(info->number, modem_intf) == 0)
mdm = info->devnode;
}
}