From: Weston Andros Adamson <dros@netapp.com>
Date: Thu, 1 Nov 2012 20:04:40 +0000 (-0400)
Subject: SUNRPC: remove BUG_ON from rpc_call_sync
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=50d2bdb19734f9e9f21e63881a9b6c8db4cc0eb7;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git

SUNRPC: remove BUG_ON from rpc_call_sync

Use WARN_ON_ONCE instead of calling BUG_ON and return -EINVAL when
RPC_TASK_ASYNC flag is passed to rpc_call_sync.

Signed-off-by: Weston Andros Adamson <dros@netapp.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
---

diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c
index a9dd1e835f70..50bc9db8762c 100644
--- a/net/sunrpc/clnt.c
+++ b/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))