summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-08-10 12:24:19 +0200
committerMarcel Holtmann <marcel@holtmann.org>2008-08-10 12:24:19 +0200
commit8dacf3b5cde294708c06e16a8c03b34834448e48 (patch)
tree26f195f07fea9f89850c76b847b8042a7a0ff683
parent57a065f9bd8db08f2fd4b3b40fbe26198f1358c1 (diff)
downloadconnman-8dacf3b5cde294708c06e16a8c03b34834448e48.tar.gz
connman-8dacf3b5cde294708c06e16a8c03b34834448e48.tar.bz2
connman-8dacf3b5cde294708c06e16a8c03b34834448e48.zip
Abort driver matching if probe succeeds
-rw-r--r--src/element.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/element.c b/src/element.c
index 8996f3b5..d954b634 100644
--- a/src/element.c
+++ b/src/element.c
@@ -746,12 +746,12 @@ static void register_element(gpointer data, gpointer user_data)
DBG("driver %p name %s", driver, driver->name);
- if (driver->probe(element) < 0)
- continue;
-
- connman_element_lock(element);
- element->driver = driver;
- connman_element_unlock(element);
+ if (driver->probe(element) == 0) {
+ connman_element_lock(element);
+ element->driver = driver;
+ connman_element_unlock(element);
+ break;
+ }
}
g_static_rw_lock_writer_unlock(&element_lock);