diff options
| author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-07-15 18:34:16 -0400 |
|---|---|---|
| committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2008-07-15 18:34:16 -0400 |
| commit | e89e896d31b11a51a54ddcd3f72a76bd286dd86c (patch) | |
| tree | 105a9a93a4021caeeba76e479778ad2dd2b87b57 /net/sunrpc/sched.c | |
| parent | 3a628b0fd42f7eaf9d052447784d48ceae9ffb8e (diff) | |
| parent | d67d1c7bf948341fd8678c8e337ec27f4b46b206 (diff) | |
Merge branch 'devel' into next
Conflicts:
fs/nfs/file.c
Fix up the conflict with Jon Corbet's bkl-removal tree
Diffstat (limited to 'net/sunrpc/sched.c')
| -rw-r--r-- | net/sunrpc/sched.c | 14 |
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 | ||
