diff --git a/xen/common/memory.c b/xen/common/memory.c index 5a0efd57e2..9d0d32e326 100644 --- a/xen/common/memory.c +++ b/xen/common/memory.c @@ -268,7 +268,7 @@ static void decrease_reservation(struct memop_args *a) for ( i = a->nr_done; i < a->nr_extents; i++ ) { - if ( hypercall_preempt_check() ) + if ( hypercall_preempt_check() && i != a->nr_done ) { a->preempted = 1; goto out;