From 223bac4e57891914efc7b80144b891331cdfcf90 Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Mon, 20 Sep 2010 18:21:51 +0200 Subject: [PATCH] Do not register 2 network drivers for the same network type --- src/network.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/network.c b/src/network.c index 820ce99..aebf7cf 100644 --- a/src/network.c +++ b/src/network.c @@ -266,8 +266,18 @@ static gint compare_priority(gconstpointer a, gconstpointer b) */ int connman_network_driver_register(struct connman_network_driver *driver) { + GSList *list; + DBG("driver %p name %s", driver, driver->name); + for (list = driver_list; list; list = list->next) { + struct connman_network_driver *tmp = list->data; + + if (tmp->type == driver->type) + return -EALREADY; + + } + driver_list = g_slist_insert_sorted(driver_list, driver, compare_priority); -- 2.7.4