diff --git a/src/modules/mavlink/mavlink_mission.cpp b/src/modules/mavlink/mavlink_mission.cpp index 832bb4dc5273e139834a3c8dc3d578fb91a6c238..976076e73ec820aaf56e7a9cb46ff15c390276ec 100644 --- a/src/modules/mavlink/mavlink_mission.cpp +++ b/src/modules/mavlink/mavlink_mission.cpp @@ -346,6 +346,9 @@ MavlinkMissionManager::send(const hrt_abstime now) _state = MAVLINK_WPM_STATE_IDLE; + // since we are giving up, reset this state also, so another request can be started. + _transfer_in_progress = false; + } else if (_state == MAVLINK_WPM_STATE_GETLIST && hrt_elapsed_time(&_time_last_sent) > _retry_timeout) { /* try to request item again after timeout */ send_mission_request(_transfer_partner_sysid, _transfer_partner_compid, _transfer_seq);