From 400b9ebc20f17e2d727736cd00d780ec5dcc21ee Mon Sep 17 00:00:00 2001 From: Mark Charlebois Date: Tue, 7 Apr 2015 16:28:50 -0700 Subject: [PATCH] Linux: fixed registration of a class of device Previously it created 4 instances instead of the next available slot. Signed-off-by: Mark Charlebois --- src/drivers/device/vdev.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/drivers/device/vdev.cpp b/src/drivers/device/vdev.cpp index 157da97b82..87fbbe6e74 100644 --- a/src/drivers/device/vdev.cpp +++ b/src/drivers/device/vdev.cpp @@ -108,6 +108,7 @@ VDev::register_class_devname(const char *class_devname) char name[32]; snprintf(name, sizeof(name), "%s%d", class_devname, class_instance); ret = register_driver(name, (void *)this); + if (ret == OK) break; class_instance++; } @@ -171,6 +172,7 @@ VDev::unregister_class_devname(const char *class_devname, unsigned class_instanc for (int i=0;iname,name) == 0) { delete devmap[i]; + debug("Unregistered class DEV %s", name); devmap[i] = NULL; return PX4_OK; }