diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/afs/internal.h | 2 | ||||
| -rw-r--r-- | fs/afs/rxrpc.c | 14 |
2 files changed, 5 insertions, 11 deletions
diff --git a/fs/afs/internal.h b/fs/afs/internal.h index be75b500005d..590b55f46d61 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h | |||
| @@ -75,7 +75,7 @@ struct afs_call { | |||
| 75 | const struct afs_call_type *type; /* type of call */ | 75 | const struct afs_call_type *type; /* type of call */ |
| 76 | const struct afs_wait_mode *wait_mode; /* completion wait mode */ | 76 | const struct afs_wait_mode *wait_mode; /* completion wait mode */ |
| 77 | wait_queue_head_t waitq; /* processes awaiting completion */ | 77 | wait_queue_head_t waitq; /* processes awaiting completion */ |
| 78 | work_func_t async_workfn; | 78 | void (*async_workfn)(struct afs_call *call); /* asynchronous work function */ |
| 79 | struct work_struct async_work; /* asynchronous work processor */ | 79 | struct work_struct async_work; /* asynchronous work processor */ |
| 80 | struct work_struct work; /* actual work processor */ | 80 | struct work_struct work; /* actual work processor */ |
| 81 | struct sk_buff_head rx_queue; /* received packets */ | 81 | struct sk_buff_head rx_queue; /* received packets */ |
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c index 5a05014ea7b0..03a3beb17004 100644 --- a/fs/afs/rxrpc.c +++ b/fs/afs/rxrpc.c | |||
| @@ -25,7 +25,7 @@ static void afs_wake_up_call_waiter(struct afs_call *); | |||
| 25 | static int afs_wait_for_call_to_complete(struct afs_call *); | 25 | static int afs_wait_for_call_to_complete(struct afs_call *); |
| 26 | static void afs_wake_up_async_call(struct afs_call *); | 26 | static void afs_wake_up_async_call(struct afs_call *); |
| 27 | static int afs_dont_wait_for_call_to_complete(struct afs_call *); | 27 | static int afs_dont_wait_for_call_to_complete(struct afs_call *); |
| 28 | static void afs_process_async_call(struct work_struct *); | 28 | static void afs_process_async_call(struct afs_call *); |
| 29 | static void afs_rx_interceptor(struct sock *, unsigned long, struct sk_buff *); | 29 | static void afs_rx_interceptor(struct sock *, unsigned long, struct sk_buff *); |
| 30 | static int afs_deliver_cm_op_id(struct afs_call *, struct sk_buff *, bool); | 30 | static int afs_deliver_cm_op_id(struct afs_call *, struct sk_buff *, bool); |
| 31 | 31 | ||
| @@ -62,7 +62,7 @@ static void afs_async_workfn(struct work_struct *work) | |||
| 62 | { | 62 | { |
| 63 | struct afs_call *call = container_of(work, struct afs_call, async_work); | 63 | struct afs_call *call = container_of(work, struct afs_call, async_work); |
| 64 | 64 | ||
| 65 | call->async_workfn(work); | 65 | call->async_workfn(call); |
| 66 | } | 66 | } |
| 67 | 67 | ||
| 68 | /* | 68 | /* |
| @@ -623,11 +623,8 @@ static int afs_dont_wait_for_call_to_complete(struct afs_call *call) | |||
| 623 | /* | 623 | /* |
| 624 | * delete an asynchronous call | 624 | * delete an asynchronous call |
| 625 | */ | 625 | */ |
| 626 | static void afs_delete_async_call(struct work_struct *work) | 626 | static void afs_delete_async_call(struct afs_call *call) |
| 627 | { | 627 | { |
| 628 | struct afs_call *call = | ||
| 629 | container_of(work, struct afs_call, async_work); | ||
| 630 | |||
| 631 | _enter(""); | 628 | _enter(""); |
| 632 | 629 | ||
| 633 | afs_free_call(call); | 630 | afs_free_call(call); |
| @@ -640,11 +637,8 @@ static void afs_delete_async_call(struct work_struct *work) | |||
| 640 | * - on a multiple-thread workqueue this work item may try to run on several | 637 | * - on a multiple-thread workqueue this work item may try to run on several |
| 641 | * CPUs at the same time | 638 | * CPUs at the same time |
| 642 | */ | 639 | */ |
| 643 | static void afs_process_async_call(struct work_struct *work) | 640 | static void afs_process_async_call(struct afs_call *call) |
| 644 | { | 641 | { |
| 645 | struct afs_call *call = | ||
| 646 | container_of(work, struct afs_call, async_work); | ||
| 647 | |||
| 648 | _enter(""); | 642 | _enter(""); |
| 649 | 643 | ||
| 650 | if (!skb_queue_empty(&call->rx_queue)) | 644 | if (!skb_queue_empty(&call->rx_queue)) |
