From ee637952ba2f505dce8d91778886db3080f99ec5 Mon Sep 17 00:00:00 2001 From: Nicolae Rosia Date: Thu, 11 May 2017 10:52:13 +0300 Subject: [PATCH] aerofc_adc: fix error handling in init Signed-off-by: Nicolae Rosia --- src/drivers/aerofc_adc/aerofc_adc.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/drivers/aerofc_adc/aerofc_adc.cpp b/src/drivers/aerofc_adc/aerofc_adc.cpp index 9f6a8e429a..4f5c36b2b3 100644 --- a/src/drivers/aerofc_adc/aerofc_adc.cpp +++ b/src/drivers/aerofc_adc/aerofc_adc.cpp @@ -109,24 +109,27 @@ int aerofc_adc_main(int argc, char *argv[]) { if (argc < 2) { warn("Missing action "); - return PX4_OK; + return PX4_ERROR; } if (!strcmp(argv[1], "start")) { if (instance) { warn("AEROFC_ADC was already started"); + return PX4_OK; } instance = new AEROFC_ADC(PX4_I2C_BUS_EXPANSION); if (!instance) { warn("No memory to instance AEROFC_ADC"); - return PX4_OK; + return PX4_ERROR; } if (instance->init() != PX4_OK) { delete instance; instance = nullptr; + warn("AEROFC_ADC failed to init"); + return PX4_ERROR; } } else if (!strcmp(argv[1], "test")) { @@ -134,6 +137,7 @@ int aerofc_adc_main(int argc, char *argv[]) } else { warn("Action not supported"); + return PX4_ERROR; } return PX4_OK;