diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2014-02-05 09:34:21 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2014-02-05 09:34:21 +0100 |
commit | 94b162d0e076a872af9d1b1538d7f688d51bfef0 (patch) | |
tree | 13bfa90edc2bf87fdc78bb3c82d4d00910f45033 /src/drivers/mkblctrl | |
parent | 1ef7320e0c9fe00fdc13b1078d6350240a337179 (diff) | |
download | px4-firmware-94b162d0e076a872af9d1b1538d7f688d51bfef0.tar.gz px4-firmware-94b162d0e076a872af9d1b1538d7f688d51bfef0.tar.bz2 px4-firmware-94b162d0e076a872af9d1b1538d7f688d51bfef0.zip |
Fixed up nullptr handling
Diffstat (limited to 'src/drivers/mkblctrl')
-rw-r--r-- | src/drivers/mkblctrl/mkblctrl.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/drivers/mkblctrl/mkblctrl.cpp b/src/drivers/mkblctrl/mkblctrl.cpp index d1c817cf3..46f7905ff 100644 --- a/src/drivers/mkblctrl/mkblctrl.cpp +++ b/src/drivers/mkblctrl/mkblctrl.cpp @@ -1176,8 +1176,11 @@ mk_start(unsigned motors, char *device_path) // try i2c3 first g_mk = new MK(3, device_path); - if (g_mk && OK == g_mk->init(motors)) { - fprintf(stderr, "[mkblctrl] scanning i2c3...\n"); + if (!g_mk) + return -ENOMEM; + + if (OK == g_mk->init(motors)) { + warnx("[mkblctrl] scanning i2c3...\n"); ret = g_mk->mk_check_for_blctrl(8, false, true); if (ret > 0) { return OK; @@ -1190,8 +1193,11 @@ mk_start(unsigned motors, char *device_path) // fallback to bus 1 g_mk = new MK(1, device_path); - if (g_mk && OK == g_mk->init(motors)) { - fprintf(stderr, "[mkblctrl] scanning i2c1...\n"); + if (!g_mk) + return -ENOMEM; + + if (OK == g_mk->init(motors)) { + warnx("[mkblctrl] scanning i2c1...\n"); ret = g_mk->mk_check_for_blctrl(8, false, true); if (ret > 0) { return OK; @@ -1201,7 +1207,7 @@ mk_start(unsigned motors, char *device_path) delete g_mk; g_mk = nullptr; - return -ENOMEM; + return -ENXIO; } |