message: mission: retry to clear the mission
  The timeout was not implemented for clearing the mission. This meant
  that if the autopilot did not ack mission clear we would be stuck in the
  MISSION_CLEAR activity stay and be busy for the rest.
diff: @@ -1376,16 +1376,30 @@ void MissionImpl::process_timeout()
  {
  std::lock_guard<std::mutex> lock(_activity.mutex);
  - if (_activity.state == Activity::State::SET_MISSION_ITEM) {
  - should_retry = true;
  - } else if (_activity.state == Activity::State::SET_MISSION_COUNT) {
  - should_retry = true;
  - } else if (
  - _activity.state == Activity::State::GET_MISSION_LIST ||
  - _activity.state == Activity::State::GET_MISSION_REQUEST) {
  + switch (_activity.state) {
  + case Activity::State::NONE:
  + // FALLTHROUGH
  + case Activity::State::ABORTED:
  + // FALLTHROUGH
  + case Activity::State::SEND_COMMAND:
  + // FALLTHROUGH
  + case Activity::State::SET_CURRENT:
  + break;
  +
  + case Activity::State::SET_MISSION_COUNT:
  + // FALLTHROUGH
  + case Activity::State::SET_MISSION_ITEM:
  + // FALLTHROUGH
  + case Activity::State::GET_MISSION_LIST:
  + // FALLTHROUGH
  + case Activity::State::GET_MISSION_REQUEST:
  + // FALLTHROUGH
  + case Activity::State::MISSION_CLEAR:
  should_retry = true;
  - } else {
  + break;
  + default:
  LogWarn() << "unknown mission timeout";
  + break;
  }
  }
  @@ -1401,7 +1415,7 @@ void MissionImpl::process_timeout()
  std::lock_guard<std::mutex> lock(_activity.mutex);
  _activity.state = Activity::State::NONE;
  }
  - LogWarn() << "Mission handling timed out while downloading mission.";
  + LogWarn() << "Mission handling timed out.";
  report_mission_items_and_result(temp_callback, Mission::Result::TIMEOUT);
  } else {
  _mission_data.mutex.unlock();
  @@ -1423,6 +1437,9 @@ void MissionImpl::process_timeout()
  } else if (_activity.state == Activity::State::SET_MISSION_ITEM) {
  LogWarn() << "Retrying send mission count...";
  upload_mission_item();
  + } else if (_activity.state == Activity::State::MISSION_CLEAR) {
  + LogWarn() << "Retrying to clear mission...";
  + clear_mission();
  }
  }
  }
  