diff --git a/src/lib/cdev/CDev.cpp b/src/lib/cdev/CDev.cpp index ed668abf0e..9dc3be9cda 100644 --- a/src/lib/cdev/CDev.cpp +++ b/src/lib/cdev/CDev.cpp @@ -43,6 +43,10 @@ #include +#if defined(__PX4_NUTTX) +#include +#endif + namespace cdev { @@ -386,7 +390,11 @@ int CDev::unregister_driver_and_memory() } if (_devname != nullptr) { +#if defined(__PX4_NUTTX) && !defined(CONFIG_BUILD_FLAT) + kmm_free((void *)_devname); +#else free((void *)_devname); +#endif _devname = nullptr; } else { diff --git a/src/lib/cdev/CMakeLists.txt b/src/lib/cdev/CMakeLists.txt index 6a3f90fe9f..0d7d869fdf 100644 --- a/src/lib/cdev/CMakeLists.txt +++ b/src/lib/cdev/CMakeLists.txt @@ -49,7 +49,7 @@ px4_add_library(cdev CDev.hpp ${SRCS_PLATFORM} ) -target_compile_options(cdev PRIVATE ${MAX_CUSTOM_OPT_LEVEL}) +target_compile_options(cdev PRIVATE ${MAX_CUSTOM_OPT_LEVEL} -D__KERNEL__) if(PX4_TESTING) add_subdirectory(test)