From 90513e719ecaec1cad8a26302f7b214fb0b23755 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Beat=20K=C3=BCng?= <beat-kueng@gmx.net>
Date: Tue, 10 Apr 2018 11:46:56 +0200
Subject: [PATCH] ASSERT: remove some inappropriate asserts

Since assertions lead to crashes, we need better failure handling. In all
the cases in this patch, the assert is not required.

All the ones with the task id should be replaced with the module base
class.

Ah yes, and this reduces flash space, since the ASSERT macro will expand to
a printf that contains the source file name.
---
 src/drivers/px4io/px4io.cpp                            | 2 --
 src/modules/camera_feedback/camera_feedback.cpp        | 2 --
 src/modules/events/temperature_calibration/task.cpp    | 1 -
 src/modules/mc_pos_control/mc_pos_control_main.cpp     | 2 --
 src/modules/uORB/uORBManager.cpp                       | 1 -
 src/modules/vtol_att_control/vtol_att_control_main.cpp | 2 --
 6 files changed, 10 deletions(-)

diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp
index 164d798c2d..30308dd8b6 100644
--- a/src/drivers/px4io/px4io.cpp
+++ b/src/drivers/px4io/px4io.cpp
@@ -590,8 +590,6 @@ PX4IO::init()
 	param_t sys_restart_param;
 	int32_t sys_restart_val = DM_INIT_REASON_VOLATILE;
 
-	ASSERT(_task == -1);
-
 	sys_restart_param = param_find("SYS_RESTART_TYPE");
 
 	if (sys_restart_param != PARAM_INVALID) {
diff --git a/src/modules/camera_feedback/camera_feedback.cpp b/src/modules/camera_feedback/camera_feedback.cpp
index f41f68472c..c7384b6ad0 100644
--- a/src/modules/camera_feedback/camera_feedback.cpp
+++ b/src/modules/camera_feedback/camera_feedback.cpp
@@ -93,8 +93,6 @@ int
 CameraFeedback::start()
 {
 
-	ASSERT(_main_task == -1);
-
 	/* start the task */
 	_main_task = px4_task_spawn_cmd("camera_feedback",
 					SCHED_DEFAULT,
diff --git a/src/modules/events/temperature_calibration/task.cpp b/src/modules/events/temperature_calibration/task.cpp
index 5f91afd320..ddec37f7bd 100644
--- a/src/modules/events/temperature_calibration/task.cpp
+++ b/src/modules/events/temperature_calibration/task.cpp
@@ -328,7 +328,6 @@ void TemperatureCalibration::do_temperature_calibration(int argc, char *argv[])
 int TemperatureCalibration::start()
 {
 
-	ASSERT(_control_task == -1);
 	_control_task = px4_task_spawn_cmd("temperature_calib",
 					   SCHED_DEFAULT,
 					   SCHED_PRIORITY_MAX - 5,
diff --git a/src/modules/mc_pos_control/mc_pos_control_main.cpp b/src/modules/mc_pos_control/mc_pos_control_main.cpp
index 9af098375f..c03c6507cd 100644
--- a/src/modules/mc_pos_control/mc_pos_control_main.cpp
+++ b/src/modules/mc_pos_control/mc_pos_control_main.cpp
@@ -3368,8 +3368,6 @@ MulticopterPositionControl::landdetection_thrust_limit(matrix::Vector3f &thrust_
 int
 MulticopterPositionControl::start()
 {
-	ASSERT(_control_task == -1);
-
 	/* start the task */
 	_control_task = px4_task_spawn_cmd("mc_pos_control",
 					   SCHED_DEFAULT,
diff --git a/src/modules/uORB/uORBManager.cpp b/src/modules/uORB/uORBManager.cpp
index 36c26ff6dc..7f6082e8b7 100644
--- a/src/modules/uORB/uORBManager.cpp
+++ b/src/modules/uORB/uORBManager.cpp
@@ -319,7 +319,6 @@ int uORB::Manager::orb_set_interval(int handle, unsigned interval)
 
 int uORB::Manager::orb_get_interval(int handle, unsigned *interval)
 {
-	ASSERT(interval);
 	int ret = px4_ioctl(handle, ORBIOCGETINTERVAL, (unsigned long)interval);
 	*interval /= 1000;
 	return ret;
diff --git a/src/modules/vtol_att_control/vtol_att_control_main.cpp b/src/modules/vtol_att_control/vtol_att_control_main.cpp
index aa730cb5f8..9161025cf3 100644
--- a/src/modules/vtol_att_control/vtol_att_control_main.cpp
+++ b/src/modules/vtol_att_control/vtol_att_control_main.cpp
@@ -767,8 +767,6 @@ void VtolAttitudeControl::task_main()
 int
 VtolAttitudeControl::start()
 {
-	ASSERT(_control_task == -1);
-
 	/* start the task */
 	_control_task = px4_task_spawn_cmd("vtol_att_control",
 					   SCHED_DEFAULT,
-- 
GitLab