ONCE_COMPLETED
if (atomic_read_acquire(&once->state) == ONCE_COMPLETED)
return WARN_ON_ONCE(state != ONCE_COMPLETED) ? -EINVAL : 0;
atomic_set_release(&once->state, ONCE_COMPLETED);