diff options
-rw-r--r-- | net/sunrpc/sched.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/sunrpc/sched.c b/net/sunrpc/sched.c index e6db49699bce..69049179c280 100644 --- a/net/sunrpc/sched.c +++ b/net/sunrpc/sched.c | |||
@@ -133,7 +133,9 @@ static void __rpc_add_wait_queue(struct rpc_wait_queue *queue, | |||
133 | struct rpc_task *task, | 133 | struct rpc_task *task, |
134 | unsigned char queue_priority) | 134 | unsigned char queue_priority) |
135 | { | 135 | { |
136 | BUG_ON (RPC_IS_QUEUED(task)); | 136 | WARN_ON_ONCE(RPC_IS_QUEUED(task)); |
137 | if (RPC_IS_QUEUED(task)) | ||
138 | return; | ||
137 | 139 | ||
138 | if (RPC_IS_PRIORITY(queue)) | 140 | if (RPC_IS_PRIORITY(queue)) |
139 | __rpc_add_wait_queue_priority(queue, task, queue_priority); | 141 | __rpc_add_wait_queue_priority(queue, task, queue_priority); |
@@ -707,7 +709,9 @@ static void __rpc_execute(struct rpc_task *task) | |||
707 | dprintk("RPC: %5u __rpc_execute flags=0x%x\n", | 709 | dprintk("RPC: %5u __rpc_execute flags=0x%x\n", |
708 | task->tk_pid, task->tk_flags); | 710 | task->tk_pid, task->tk_flags); |
709 | 711 | ||
710 | BUG_ON(RPC_IS_QUEUED(task)); | 712 | WARN_ON_ONCE(RPC_IS_QUEUED(task)); |
713 | if (RPC_IS_QUEUED(task)) | ||
714 | return; | ||
711 | 715 | ||
712 | for (;;) { | 716 | for (;;) { |
713 | void (*do_action)(struct rpc_task *); | 717 | void (*do_action)(struct rpc_task *); |