diff options
Diffstat (limited to 'net/sunrpc/sched.c')
-rw-r--r-- | net/sunrpc/sched.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index 9c13050d23eb..f9fd66b1d48b 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c | |||
@@ -588,7 +588,9 @@ void rpc_delay(struct rpc_task *task, unsigned long delay) | |||
588 | */ | 588 | */ |
589 | static void rpc_prepare_task(struct rpc_task *task) | 589 | static void rpc_prepare_task(struct rpc_task *task) |
590 | { | 590 | { |
591 | lock_kernel(); | ||
591 | task->tk_ops->rpc_call_prepare(task, task->tk_calldata); | 592 | task->tk_ops->rpc_call_prepare(task, task->tk_calldata); |
593 | unlock_kernel(); | ||
592 | } | 594 | } |
593 | 595 | ||
594 | /* | 596 | /* |
@@ -598,7 +600,9 @@ void rpc_exit_task(struct rpc_task *task) | |||
598 | { | 600 | { |
599 | task->tk_action = NULL; | 601 | task->tk_action = NULL; |
600 | if (task->tk_ops->rpc_call_done != NULL) { | 602 | if (task->tk_ops->rpc_call_done != NULL) { |
603 | lock_kernel(); | ||
601 | task->tk_ops->rpc_call_done(task, task->tk_calldata); | 604 | task->tk_ops->rpc_call_done(task, task->tk_calldata); |
605 | unlock_kernel(); | ||
602 | if (task->tk_action != NULL) { | 606 | if (task->tk_action != NULL) { |
603 | WARN_ON(RPC_ASSASSINATED(task)); | 607 | WARN_ON(RPC_ASSASSINATED(task)); |
604 | /* Always release the RPC slot and buffer memory */ | 608 | /* Always release the RPC slot and buffer memory */ |
@@ -651,9 +655,7 @@ static int __rpc_execute(struct rpc_task *task) | |||
651 | */ | 655 | */ |
652 | save_callback=task->tk_callback; | 656 | save_callback=task->tk_callback; |
653 | task->tk_callback=NULL; | 657 | task->tk_callback=NULL; |
654 | lock_kernel(); | ||
655 | save_callback(task); | 658 | save_callback(task); |
656 | unlock_kernel(); | ||
657 | } | 659 | } |
658 | 660 | ||
659 | /* | 661 | /* |
@@ -664,9 +666,7 @@ static int __rpc_execute(struct rpc_task *task) | |||
664 | if (!RPC_IS_QUEUED(task)) { | 666 | if (!RPC_IS_QUEUED(task)) { |
665 | if (task->tk_action == NULL) | 667 | if (task->tk_action == NULL) |
666 | break; | 668 | break; |
667 | lock_kernel(); | ||
668 | task->tk_action(task); | 669 | task->tk_action(task); |
669 | unlock_kernel(); | ||
670 | } | 670 | } |
671 | 671 | ||
672 | /* | 672 | /* |