+3
-2
kernel/events/core.c
+3
-2
kernel/events/core.c
···
99
99
* retry due to any failures in smp_call_function_single(), such as if the
100
100
* task_cpu() goes offline concurrently.
101
101
*
102
-
* returns @func return value or -ESRCH when the process isn't running
102
+
* returns @func return value or -ESRCH or -ENXIO when the process isn't running
103
103
*/
104
104
static int
105
105
task_function_call(struct task_struct *p, remote_function_f func, void *info)
···
115
115
for (;;) {
116
116
ret = smp_call_function_single(task_cpu(p), remote_function,
117
117
&data, 1);
118
-
ret = !ret ? data.ret : -EAGAIN;
118
+
if (!ret)
119
+
ret = data.ret;
119
120
120
121
if (ret != -EAGAIN)
121
122
break;