diff --git a/[refs] b/[refs] index ee988721c8a5..1d0465b6ec02 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a0c2a57bc9a47ae876077fdc4678eca33c26ae4 +refs/heads/master: 50d2bdb19734f9e9f21e63881a9b6c8db4cc0eb7 diff --git a/trunk/net/sunrpc/clnt.c b/trunk/net/sunrpc/clnt.c index a9dd1e835f70..50bc9db8762c 100644 --- a/trunk/net/sunrpc/clnt.c +++ b/trunk/net/sunrpc/clnt.c @@ -842,7 +842,12 @@ int rpc_call_sync(struct rpc_clnt *clnt, const struct rpc_message *msg, int flag }; int status; - BUG_ON(flags & RPC_TASK_ASYNC); + WARN_ON_ONCE(flags & RPC_TASK_ASYNC); + if (flags & RPC_TASK_ASYNC) { + rpc_release_calldata(task_setup_data.callback_ops, + task_setup_data.callback_data); + return -EINVAL; + } task = rpc_run_task(&task_setup_data); if (IS_ERR(task))