diff --git a/[refs] b/[refs] index 06ab178c9557..8ed78b883218 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: afc881124b8aff83c7a28269ef9d9cfce543256c +refs/heads/master: 34f5b4662bf4b54f22b32ce76ce70eccd7ebc68a diff --git a/trunk/net/sunrpc/clnt.c b/trunk/net/sunrpc/clnt.c index e775ca793249..924916ceaa43 100644 --- a/trunk/net/sunrpc/clnt.c +++ b/trunk/net/sunrpc/clnt.c @@ -579,9 +579,12 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data) } atomic_inc(&task->tk_count); /* Mask signals on synchronous RPC calls and RPCSEC_GSS upcalls */ - rpc_task_sigmask(task, &oldset); - rpc_execute(task); - rpc_restore_sigmask(&oldset); + if (!RPC_IS_ASYNC(task)) { + rpc_task_sigmask(task, &oldset); + rpc_execute(task); + rpc_restore_sigmask(&oldset); + } else + rpc_execute(task); ret = task; out: return ret;