diff --git a/kernel/smp.c b/kernel/smp.c index 1a5b6f4f65ed0d0822a576d16d6d38964a6a8131..06c67bb19d034b9bd2bba3115d01515fd8edd758 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -193,7 +193,7 @@ void generic_smp_call_function_interrupt(void) data->csd.func(data->csd.info); - refs = atomic_sub_return(1, &data->refs); + refs = atomic_dec_return(&data->refs); WARN_ON(refs < 0); if (!refs) { spin_lock(&call_function.lock);