aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/sched.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sunrpc/sched.c')
-rw-r--r--net/sunrpc/sched.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c
index 6eab9bf94baf..6288af05c20f 100644
--- a/net/sunrpc/sched.c
+++ b/net/sunrpc/sched.c
@@ -626,19 +626,15 @@ static void __rpc_execute(struct rpc_task *task)
626 /* 626 /*
627 * Execute any pending callback. 627 * Execute any pending callback.
628 */ 628 */
629 if (RPC_DO_CALLBACK(task)) { 629 if (task->tk_callback) {
630 /* Define a callback save pointer */
631 void (*save_callback)(struct rpc_task *); 630 void (*save_callback)(struct rpc_task *);
632 631
633 /* 632 /*
634 * If a callback exists, save it, reset it, 633 * We set tk_callback to NULL before calling it,
635 * call it. 634 * in case it sets the tk_callback field itself:
636 * The save is needed to stop from resetting
637 * another callback set within the callback handler
638 * - Dave
639 */ 635 */
640 save_callback=task->tk_callback; 636 save_callback = task->tk_callback;
641 task->tk_callback=NULL; 637 task->tk_callback = NULL;
642 save_callback(task); 638 save_callback(task);
643 } 639 }
644 640