aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/afs/rxrpc.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c
index 1a1110b1a7ff..5a05014ea7b0 100644
--- a/fs/afs/rxrpc.c
+++ b/fs/afs/rxrpc.c
@@ -58,6 +58,13 @@ static void afs_collect_incoming_call(struct work_struct *);
58static struct sk_buff_head afs_incoming_calls; 58static struct sk_buff_head afs_incoming_calls;
59static DECLARE_WORK(afs_collect_incoming_call_work, afs_collect_incoming_call); 59static DECLARE_WORK(afs_collect_incoming_call_work, afs_collect_incoming_call);
60 60
61static void afs_async_workfn(struct work_struct *work)
62{
63 struct afs_call *call = container_of(work, struct afs_call, async_work);
64
65 call->async_workfn(work);
66}
67
61/* 68/*
62 * open an RxRPC socket and bind it to be a server for callback notifications 69 * open an RxRPC socket and bind it to be a server for callback notifications
63 * - the socket is left in blocking mode and non-blocking ops use MSG_DONTWAIT 70 * - the socket is left in blocking mode and non-blocking ops use MSG_DONTWAIT
@@ -348,7 +355,8 @@ int afs_make_call(struct in_addr *addr, struct afs_call *call, gfp_t gfp,
348 atomic_read(&afs_outstanding_calls)); 355 atomic_read(&afs_outstanding_calls));
349 356
350 call->wait_mode = wait_mode; 357 call->wait_mode = wait_mode;
351 INIT_WORK(&call->async_work, afs_process_async_call); 358 call->async_workfn = afs_process_async_call;
359 INIT_WORK(&call->async_work, afs_async_workfn);
352 360
353 memset(&srx, 0, sizeof(srx)); 361 memset(&srx, 0, sizeof(srx));
354 srx.srx_family = AF_RXRPC; 362 srx.srx_family = AF_RXRPC;
@@ -672,13 +680,6 @@ void afs_transfer_reply(struct afs_call *call, struct sk_buff *skb)
672 call->reply_size += len; 680 call->reply_size += len;
673} 681}
674 682
675static void afs_async_workfn(struct work_struct *work)
676{
677 struct afs_call *call = container_of(work, struct afs_call, async_work);
678
679 call->async_workfn(work);
680}
681
682/* 683/*
683 * accept the backlog of incoming calls 684 * accept the backlog of incoming calls
684 */ 685 */