Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e60859ac authored by Trond Myklebust's avatar Trond Myklebust
Browse files

SUNRPC: rpc_execute should not return task->tk_status;

parent 89991c24
Loading
Loading
Loading
Loading
+6 −5
Original line number Original line Diff line number Diff line
@@ -446,14 +446,15 @@ int rpc_call_sync(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
	rpc_call_setup(task, msg, 0);
	rpc_call_setup(task, msg, 0);


	/* Set up the call info struct and execute the task */
	/* Set up the call info struct and execute the task */
	if (task->tk_status == 0) {
	status = task->tk_status;
	if (status == 0) {
		atomic_inc(&task->tk_count);
		status = rpc_execute(task);
		status = rpc_execute(task);
	} else {
		if (status == 0)
			status = task->tk_status;
			status = task->tk_status;
		rpc_release_task(task);
	}
	}

	rpc_restore_sigmask(&oldset);
	rpc_restore_sigmask(&oldset);
	rpc_release_task(task);
out:
out:
	return status;
	return status;
}
}
+1 −3
Original line number Original line Diff line number Diff line
@@ -694,9 +694,7 @@ static int __rpc_execute(struct rpc_task *task)
		dprintk("RPC: %4d sync task resuming\n", task->tk_pid);
		dprintk("RPC: %4d sync task resuming\n", task->tk_pid);
	}
	}


	dprintk("RPC: %4d exit() = %d\n", task->tk_pid, task->tk_status);
	dprintk("RPC: %4d, return %d, status %d\n", task->tk_pid, status, task->tk_status);
	status = task->tk_status;

	/* Wake up anyone who is waiting for task completion */
	/* Wake up anyone who is waiting for task completion */
	rpc_mark_complete_task(task);
	rpc_mark_complete_task(task);
	/* Release all resources associated with the task */
	/* Release all resources associated with the task */