diff options
Diffstat (limited to 'net/sunrpc/rpcb_clnt.c')
-rw-r--r-- | net/sunrpc/rpcb_clnt.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/sunrpc/rpcb_clnt.c b/net/sunrpc/rpcb_clnt.c index a05493aedb68..7c362e5f6e1b 100644 --- a/net/sunrpc/rpcb_clnt.c +++ b/net/sunrpc/rpcb_clnt.c | |||
@@ -310,6 +310,10 @@ void rpcb_getport_async(struct rpc_task *task) | |||
310 | struct rpc_clnt *rpcb_clnt; | 310 | struct rpc_clnt *rpcb_clnt; |
311 | static struct rpcbind_args *map; | 311 | static struct rpcbind_args *map; |
312 | struct rpc_task *child; | 312 | struct rpc_task *child; |
313 | struct rpc_task_setup task_setup_data = { | ||
314 | .callback_ops = &rpcb_getport_ops, | ||
315 | .flags = RPC_TASK_ASYNC, | ||
316 | }; | ||
313 | struct sockaddr addr; | 317 | struct sockaddr addr; |
314 | int status; | 318 | int status; |
315 | struct rpcb_info *info; | 319 | struct rpcb_info *info; |
@@ -395,7 +399,9 @@ void rpcb_getport_async(struct rpc_task *task) | |||
395 | sizeof(map->r_addr)); | 399 | sizeof(map->r_addr)); |
396 | map->r_owner = RPCB_OWNER_STRING; /* ignored for GETADDR */ | 400 | map->r_owner = RPCB_OWNER_STRING; /* ignored for GETADDR */ |
397 | 401 | ||
398 | child = rpc_run_task(rpcb_clnt, RPC_TASK_ASYNC, &rpcb_getport_ops, map); | 402 | task_setup_data.rpc_client = rpcb_clnt; |
403 | task_setup_data.callback_data = map; | ||
404 | child = rpc_run_task(&task_setup_data); | ||
399 | rpc_release_client(rpcb_clnt); | 405 | rpc_release_client(rpcb_clnt); |
400 | if (IS_ERR(child)) { | 406 | if (IS_ERR(child)) { |
401 | status = -EIO; | 407 | status = -EIO; |