diff --git a/hypervisor/arch/x86/notify.c b/hypervisor/arch/x86/notify.c index d9220f59a..cbed7c7e3 100644 --- a/hypervisor/arch/x86/notify.c +++ b/hypervisor/arch/x86/notify.c @@ -43,7 +43,7 @@ void smp_call_function(uint64_t mask, smp_call_func_t func, void *data) struct smp_call_info_data *smp_call; /* wait for previous smp call complete, which may run on other cpus */ - while (atomic_cmpxchg64(&smp_call_mask, 0UL, mask & INVALID_BIT_INDEX) != 0UL); + while (atomic_cmpxchg64(&smp_call_mask, 0UL, mask) != 0UL); pcpu_id = ffs64(mask); while (pcpu_id < MAX_PCPU_NUM) { bitmap_clear_nolock(pcpu_id, &mask);