diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index 976f4e94a1..0327f94ec7 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -122,16 +122,21 @@ MavlinkMissionManager::init_offboard_mission() mission_s mission_state; if (!_dataman_init) { _dataman_init = true; - if (dm_read(DM_KEY_MISSION_STATE, 0, &mission_state, sizeof(mission_s)) == sizeof(mission_s)) { + int ret = dm_read(DM_KEY_MISSION_STATE, 0, &mission_state, sizeof(mission_s)) == sizeof(mission_s); + if (ret > 0) { _dataman_id = mission_state.dataman_id; _count = mission_state.count; _current_seq = mission_state.current_seq; - } else { + } else if (ret == 0) { + _dataman_id = 0; + _count = 0; + _current_seq = 0; + } else { + PX4_WARN("offboard mission init failed"); _dataman_id = 0; _count = 0; _current_seq = 0; - warnx("offboard mission init failed"); } } _my_dataman_id = _dataman_id;