diff --git a/resource/traversers/dfu.cpp b/resource/traversers/dfu.cpp index ec62aefee..968f8de1b 100644 --- a/resource/traversers/dfu.cpp +++ b/resource/traversers/dfu.cpp @@ -311,11 +311,13 @@ int dfu_traverser_t::run (Jobspec::Jobspec &jobspec, } else if ( (rc = schedule (jobspec, meta, x, op, root, dfv)) == 0) { *at = meta.at; if (*at == graph_end) { + detail::dfu_impl_t::reset_exclusive_resource_types + (exclusive_types); // no schedulable point found even at the end of the time, return EBUSY errno = EBUSY; return -1; } - if (*at < 0 or *at >= graph_end) { + if (*at < 0 or *at > graph_end) { detail::dfu_impl_t::reset_exclusive_resource_types (exclusive_types); errno = EINVAL;