Even if only part of a hypercall completed before getting preempted,
invalidation ought to occur. Therefore fold the two return statements.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
HVM_DBG_LOG(DBG_LEVEL_HCALL, "hcall%lu -> %lx", eax, regs->rax);
- if ( curr->hcall_preempted )
- return HVM_HCALL_preempted;
-
if ( unlikely(currd->arch.hvm.qemu_mapcache_invalidate) &&
test_and_clear_bool(currd->arch.hvm.qemu_mapcache_invalidate) )
send_invalidate_req();
- return HVM_HCALL_completed;
+ return curr->hcall_preempted ? HVM_HCALL_preempted : HVM_HCALL_completed;
}
/*